Как выписать EntiteReference (например, и NBSP;) к XMLWerier, прочитайте XMLNodereader?
-
27-09-2019 - |
Вопрос
Фон
Я читаю и пишу документ XML, используя Reader и Writer, с помощью логики фильтрации между операциями по чтению и записи, чтобы определить, какие детали чтения должны быть записаны (эффективно, это порывает некоторые теги) ...
Мой выбор реализации в настоящее время является следующим использованием: 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.name. Свойство
При переопределении в полученном классе получает квалифицированное имя текущего узла.