从数据表proposal中读取格式为XML的字段xml_data,后进行解析构表,修改其中的某个结点值.然后再存进数据库里.
如字段xml_data内容为:
<data>
<proposal org_code="111" psn_code="255" etitle="mmmmmmm" ntype="MT"></proposal>
<budgets>
<mbudget prp_code="12" tNo="2" item_name="AA" tMoney="20.00"  re="aa"></mbudget>
<mbudget prp_code="13" tNo="6" item_name="BB" tMoney="30.00"  re="bb"></mbudget>
</budgets>
<targets></targets>
</data>我现在要读取budgets.mbudget.tNo="6" 的结点,后给tMoney重新赋值.
请问应该怎样写,跪求高手指教!

解决方案 »

  1.   

    XmlDocument doc = new XmlDocument();
    doc.Load(xmlfile);
    XmlNode node = doc.SelectSingleNode("/data/budgets/mbudget[@tNo='6']");
    node.Attributes["tMoney"] = "XXXXX";
    doc.Save(xmlfile);
      

  2.   

    还有个问题:
    如果我想在<budgets>大结点后面里在添加一个新结点
    <mbudget prp_code="15" tNo="10" item_name="CC" tMoney="50.00" re="cc"></mbudget> 
    应该怎样写请问?
      

  3.   

                        XmlElement child = doc.CreateElement("mbudget");
                        child.InnerText = xxx;
                        XmlNode node = doc.DocumentElement.SelectSingleNode("budgets");
                        node.AppendChild(child);先新建你的mbudget节点,然后找到你的budgets节点,附加mbudget节点即可。
      

  4.   

    修改、添加结点后输出的XML文本是这样:
    <?xml version=\"1.0\" encoding=\"utf-16\"?>\r\n<data>\r\n    <proposal org_code=\"111\" psn_code=\"255\" etitle=\"mmmmmmm\" ntype=\"MT\"> </proposal> \r\n      <budgets> \r\n      <mbudget prp_code=\"12\" tNo=\"2\" item_name=\"AA\" tMoney=\"20.00\"  re=\"aa\"> </mbudget> \r\n      <mbudget prp_code=\"13\" tNo="6" item_name=\"BB\" tMoney=\"30.00\"  re=\"bb\"> </mbudget> \r\n    </budgets> \r\n      <targets> </targets> \r\n      </data>很多\ 斜杠,怎样转换为标准的文本存到数据库
      

  5.   

    上面代码说明是字符串的形式。
    XmlDocument doc=new XmlDocument();
    doc.LoadXml("你的xml格式的字符串");
    这样就是规范的xml文档了。不知道你究竟是想实现那种功能。。若是填充到数据库,DataSet提供了这方面的方法。