无法更改XML标记的值

时间:2012-08-10 15:14:18

标签: c# xml xmlnode

这是XML:

<PolicyChangeSet schemaVersion="2.1" username="" description="">
    <Attachment name="" contentType="">
        <Description/>
        <Location></Location>
    </Attachment>
</PolicyChangeSet>

我只是想在“location”标签之间添加值“XXX”。

我尝试了这个但是没有用:

    string newValue = string.Empty;
    XmlDocument xmlDoc = new XmlDocument();

    xmlDoc.Load(AppVars.pxCentralXMLPayloadFilePath);
    node = xmlDoc.SelectSingleNode("/PolicyChangeSet/Attachment/location");

    node.InnerText = "XXX";

    xmlDoc.Save(AppVars.pxCentralXMLPayloadFilePath);

我缺少什么?!

3 个答案:

答案 0 :(得分:0)

请使用XmlDocument ChildNodes的迭代 - 如MS支持网站walkthrough中所述。根据{{​​1}}方法的documentation

  

不应期望XmlNode“实时”连接到XML   文献。也就是说,XML文档中出现的更改可能不会   出现在XmlNode中,反之亦然。

答案 1 :(得分:0)

  

doc.Save(@“XML FILE PATH”); //这将保存对文件的更改。

答案 2 :(得分:0)

发现问题的唯一原因是什么。