2011-11-11 61 views
0

我如何拆分XML?我使用此代码如何在Windows Phone 7中拆分XML

public static String insertNewMsg(String aMsg, String newMsgXML) 
{ 
    String retXML = null; 
    //int size = aMsg.s 
    String[] strParts = aMsg.Split("</messages>"); 
    if (strParts.Length >= 0) 
    { 
     retXML = strParts[0] + newMsgXML + "</messages>"; 
    } 
    return retXML; 
} 

我想分裂时结束标记河段(即(“?消息”))

+0

样本详细信息,您可以发布您的XML的例子吗?并尝试更好地解释你想要做什么 –

+0

请注意,如果(strParts.Length> = 0)'将总是*为真或抛出'NullReferenceException' - 没有这样的事情,数组的负数元素。 –

+0

retXML = “” + msg_time + “” \t \t \t \t + l_msg_id + “” + from_id \t \t \t \t + “” +头像 \t \t \t \t +“ “+ sender_name \t \t \t \t + “” + to_id + “” + msg_text \t \t \t \t + “” + picture_key \t \t \t \t + “” + SID +“ “ \t \t \t \t + m_type +”“;” \t \t return retXML;当结束标签到达时我想分割(“/ mesages”) –

回答

1

不要试图处理XML与字符串操作。使用XML库--Windows Phone 7支持LINQ to XML,这将使您的生活变得更容易lot

你还没有说过你想要做什么,但是使用LINQ to XML可能非常简单。

编辑:您现在删除的评论显示您正在使用字符串连接构建原始XML。 不这样做。它是通过在SQL本身中包含用户值而不是使用参数化查询来构建SQL查询的XML等价物,而且它同样危险。 LINQ to XML是一个可爱的库,在Windows Phone 7中得到了很好的支持 - 所以只要您想要执行任何 XML操作(创建,解析或操​​作),就可以使用它。

+0

retXML = “” + msg_time + “” \t \t \t \t + l_msg_id + “” + from_id \t \t \t \t + “” +头像 \t \t \t \t +“ “+ sender_name \t \t \t \t + “” + to_id + “” + msg_text \t \t \t \t + “” + picture_key \t \t \t \t + “” + SID +“ “ \t \t \t \t + m_type +”“;” \t \t return retXML;当结束标记到达时我想分割(“/ mesages”)。 –

+0

@SumeshMohanK:目前还不清楚你为什么发布该代码,但看到我的编辑 - *不*执行此操作。目前还不清楚你想要达到什么目标。请阅读http://tinyurl.com/so-hints –