在C#中修改XML现有内容
目的:我计划使用 XmlTextWriter 创建一个 XML 文件,并使用 XmlNode SelectSingleNode()、node.ChildNode[?].InnerText = someting 等修改/更新一些现有内容。
在我使用 XmlTextWriter 创建 XML 文件后,如下所示。
XmlTextWriter textWriter = new XmlTextWriter("D:\\learning\\cs\\myTest.xml", System.Text.Encoding.UTF8);
我练习了下面的代码。但未能保存我的 XML 文件。
XmlDocument doc = new XmlDocument();
doc.Load("D:\\learning\\cs\\myTest.xml");
XmlNode root = doc.DocumentElement;
XmlNode myNode;
myNode= root.SelectSingleNode("descendant::books");
....
textWriter.Close();
doc.Save("D:\\learning\\cs\\myTest.xml");
我发现按照我的方式生产并不好。 有什么建议吗? 我不清楚同一项目中 XmlTextWriter 和 XmlNode 的概念和用法。 感谢您的阅读和回复。
Purpose: I plan to Create a XML file with XmlTextWriter and Modify/Update some Existing Content with XmlNode SelectSingleNode(), node.ChildNode[?].InnerText = someting, etc.
After I created the XML file with XmlTextWriter as below.
XmlTextWriter textWriter = new XmlTextWriter("D:\\learning\\cs\\myTest.xml", System.Text.Encoding.UTF8);
I practiced the code below. But failed to save my XML file.
XmlDocument doc = new XmlDocument();
doc.Load("D:\\learning\\cs\\myTest.xml");
XmlNode root = doc.DocumentElement;
XmlNode myNode;
myNode= root.SelectSingleNode("descendant::books");
....
textWriter.Close();
doc.Save("D:\\learning\\cs\\myTest.xml");
I found it is not good to produce like my way.
Is there any suggestion about it?
I am not clear about the concepts and usage of both XmlTextWriter and XmlNode in the same project.
Thank you for reading and replies.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
好吧,如果您想更新 XML 中的节点,
XmlDocument
就可以了 - 您无需使用XmlTextWriter
。Well, If you want to update a node in XML, the
XmlDocument
is fine - you needn't useXmlTextWriter
.如果您使用的是 Framework 3.5,请使用 LINQ to xml
Using LINQ to xml if you are using framework 3.5
形成 XML 文件
要编辑 Xml 节点,请使用以下代码
尝试此操作。这是 C# 代码。
Forming a XML file
To edit the Xml nodes use the below code
Try this. It's C# code.
XmlTextWriter 通常用于生成(而不是更新)XML 内容。将 xml 文件加载到 XmlDocument 中时,不需要单独的编写器。
只需更新您选择的节点并 .Save() 该 XmlDocument。
The XmlTextWriter is usually used for generating (not updating) XML content. When you load the xml file into an XmlDocument, you don't need a separate writer.
Just update the node you have selected and .Save() that XmlDocument.