小编Zoo*_*dor的帖子

解析包含“ ”的 XML 字符串 (必须保存)

我有传递包含 XML 的代码string。此 XML 可能包含 (空白字符的实体引用)的一个或多个实例。我要求不应解析这些引用(即不应将它们替换为实际的空格字符)。

我有什么办法可以实现这一目标吗?

基本上,给定一个包含 XML 的字符串:

<pattern value="[A-Z0-9&#x20;]" />
Run Code Online (Sandbox Code Playgroud)

我不希望它被转换为:

<pattern value="[A-Z0-9 ]" />
Run Code Online (Sandbox Code Playgroud)

(我实际上想要实现的目标是简单地获取一个 XML 字符串并将其写入一个“打印精美”的文件。这会产生将字符串中出现的 解析为单个空格字符的副作用&#x20;,这需要保留。这个要求的原因是编写的XML文档必须符合外部定义的规范。)

我尝试创建一个子类XmlTextReader来读取 XML 字符串并覆盖该ResolveEntity()方法,但这没有被调用。我也尝试过分配自定义XmlResolver.

按照建议,我也尝试过“双重编码”。不幸的是,这并没有达到预期的效果,因为解析器没有对其进行&amp;解码这是我使用的代码:

string schemaText = @"...<pattern value=""[A-Z0-9&#x26;#x20;]"" />...";
XmlWriterSettings writerSettings = new XmlWriterSettings();
writerSettings.Indent = true;
writerSettings.NewLineChars = Environment.NewLine;
writerSettings.Encoding = Encoding.Unicode;
writerSettings.CloseOutput = true;
writerSettings.OmitXmlDeclaration = false;
writerSettings.IndentChars = "\t";

StringBuilder writtenSchema = new StringBuilder();
using …
Run Code Online (Sandbox Code Playgroud)

.net-2.0 xml-parsing

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

.net-2.0 ×1

xml-parsing ×1