【发布时间】:2019-12-09 05:55:14
【问题描述】:
我有以下 xml 文档
<Node id="1" name="name1" autoplayTrailer="false" visible="true" bgimages="false">
<Text>
<title id="2" type="text" hideineditor="false" visible="true"><![CDATA[Link]]></title>
<sections id="3" default="consideration">
<songs id="4" type="text" hideineditor="false" enabled="true" visible="true">
<![CDATA[
<div class="ThumbContainer">
Some text here
</div>
]]>
<songsTitle><![CDATA[sometexthtml here]]></songsTitle>
</songs>
</sections>
</Text>
</Node>
我想一一读取content/node,修改CDATA的内容并将xml写入光盘。
问题是我无法为 <songs> 节点编写 CData,因为它在 <songTitle> 节点内有另一个节点,而没有关闭 </song> 节点是否可以用 CData 编写节点,后面有另一个节点CData 内容?
【问题讨论】:
-
您使用的是什么 API? LINQ 到 XML?较旧的
XmlDocument?XmlSerializer?使用XmlReader直接阅读(或希望不是)? -
XmlTextWriter 写入元素..和 StreamReader 读取 xmlstring
-
这是您正在使用的非常低级的 API。你能分享一个你迄今为止拥有的代码的最小示例,以及你遇到的问题吗?顺便说一句,只要您可以将整个 XML 加载到内存中,使用 LINQ to XML 可能会更容易。
标签: c# xml xml-parsing writexml