如何将EntityReference(例如)写给XMLWriter,由XMlNodereDer读取?
-
27-09-2019 - |
题
背景
我正在阅读和编写XML文档使用读者和作家,并在读取操作和写入操作之间进行过滤逻辑,以确定应将读取的部分写回(有效地将某些标签删除)...
我目前选择实施的是以下内容: xmlnodereader, xmlWriter 和 XMLNODETYPE
using System.Xml;
// Read every node
using (XmlNodeReader reader = new XmlNodeReader(xmlFragment)) {
// But write out only nodes I want
using (XmlWriter writer = XmlTextWriter.Create(sb, writerSettings)) {
while (reader.Read()) {
//... with filtering logic here to choose what is to be written.
// I do want to write out all entity references
if (XmlNodeType.EntityReference == reader.NodeType)
; // but how do I do that here?
}
}
}
问题
当我与读者遇到实体参考时,我会得到一个空字符串“” reader.Value
但是,这确实是
在遇到的XML源中的值。因此,它被检测到,但我无法拥有。
显然是专业或边缘案例:
我找到了以下内容 表示实体参考时的MSDN文章在解析时有些特别, ,但我一直无法将其用于工作解决方案。在细节上似乎很少 - 我希望有一个代码样本来补充它。
解决方案
您可以参考此链接: http://msdn.microsoft.com/en-us/library/system.xml.xmlreader.name.aspx
希望这可以帮助!!
xmlreader.name 财产
当在派生类中覆盖时,获取当前node.node的合格名称。
不隶属于 StackOverflow