【问题标题】:C# Get nodes inside CDATA of an xml fileC# 获取 xml 文件的 CDATA 中的节点
【发布时间】:2019-07-07 01:54:46
【问题描述】:

我有一个 xml 文件,它有一个 CDATA 部分,它又包含 xml 数据。我需要从 CDATA 中的 xml 中获取一个特定节点,然后再创建一个相同类型的节点并保存 xml。

替换和保存功能适用于 1 个输入。但我希望将标签附加到同一个文件中。我希望我清楚!

【问题讨论】:

  • CDATA 的全部意义在于内容是不透明的,并且不被视为结构化 DOM 的一部分(除了“这里是一段文本”)。您需要提取文本数据并使用您选择的 XML DOM 解析器将其重新解析为 separate DOM。
  • 请将代码和数据发布为文本,而不是图片。
  • (?xml version="1.0" encoding=" UTF-8"?) [replace_text] ]]>
  • 我希望它取决于将替换 SelectObj 标记中的某些文本的输入: (?xml version="1.0" encoding="UTF-8"?) [replace_text_placeholder] (?xml version="1.0" encoding="UTF-8"? ) [replace_text_placeholder] ]]>

标签: c# xml cdata


【解决方案1】:

看看这个帖子XML parsing : Reading CDATA你可能需要读取CDATA值,转换,创建节点并将其写回

【讨论】:

  • 我确实得到了 cdata 中的值,但我想知道是否可以从 cdata 中获取特定节点 SelectObj1 并复制节点并创建 SelectObj2 并替换其中的文本。 :(
  • @sina123 它,但要准确重复 Pavel 正确所说的内容:“您需要读取 CDATA 值,转换,创建节点并将其写回”(我删除了“可能”,因为它很可能);你不能直接在 CDATA 中使用它,因为它是 just text 那里
  • 我无法从 cdata 创建节点,因为它显示“多个根节点”异常。这是我的 CDATA:abc (?xml version="1.0" encoding="UTF-8"?)(FILTER CASESENSITIVE="TRUE" DEPTH="-1" RESULTSPERPAGE="-1" COMMAND="QUERY" ) Replace_Placeholder ]]>
猜你喜欢
  • 2011-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多