Справочная информация
Я читаю и пишу 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, которая указывает, что ссылки на сущности несколько особенные при синтаксическом анализе , но я не смогиспользуйте это к рабочему решению.Кажется, что деталей мало - я бы предпочел, чтобы в качестве дополнения был приведен пример кода.