Мне нравится извлекать данные из xml-файла с помощью linq. Я проверил множество примеров, все примеры показывают извлеченный элемент в форме XElement, но извлекаются в виде XMLNode. возможно ли это сделать так, как я могу преобразовать XElement в xmlnode, как я могу это сделать. Мне нужно это в XMLBound Element, а не в XMLDocment.Как получить из xmldocment как узел xml с помощью linq
ответ
Вы можете написать расширение для linq.
public static XmlNode GetXmlNode(this XElement element)
{
using (XmlReader xmlReader = element.CreateReader())
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlReader);
return xmlDoc;
}
}
Поскольку у вас есть XElement, вы можете преобразовать его. (blog post)
element.GetXmlNode();
Надеется, что это помогает
Myra
Следующего метод будет конвертировать любой XNode
в XmlNode
XmlDocument doc = new XmlDocument(); //cached as a member variable for performance.
//recreating it inside ToXmlNode works fine too.
XmlNode ToXmlNode(XNode xnode) {
using(var reader = myElem.CreateReader())
return doc.ReadNode(reader);
}
Это означает, что он будет поддерживать целые документы, отдельные элементы, текстовые узлы, комментарии, инструкции по обработке - большинство вещей, кроме XAttribute
.
Однако это то, чего вам следует избегать. Попытайтесь использовать либо новый API System.Xml.Linq
, чтобы не смешивать его с API-интерфейсом XmlDocument
. С этим новым API легче работать, и в любом случае смешивание таких API, как это, делает более сложный код. Если вы должны смешивать API, возможно, более чистым будет преобразовать весь документ в один, а не копировать отдельные узлы туда и обратно, особенно если ваша структура данных изменена.
Однако, если вам просто нужен быстрый переход, приведенное выше будет работать нормально и разумно эффективно.
- 1. как обновить XML узел с помощью LINQ
- 2. XmlDocment - как получить узлы путем фильтрации с помощью XPath
- 3. Как получить XML-узел из XDocument
- 4. Вставьте узел новый XML с помощью LINQ
- 5. Как получить узел XML с помощью XML задачу SSIS XPATH
- 6. Как выбрать XML-узел? (С помощью LINQ, XPath, все прекрасно)
- 7. Получить XML-узел из большого XML-файла с помощью XmlReader?
- 8. как извлечь XML узел с помощью LinqtoXml
- 9. Как получить полный список из XML-файла с помощью LINQ?
- 10. Как получить строго типизированные коллекции из XML с помощью Linq
- 11. Выберите Xml узел с помощью Linq для XML
- 12. Как получить текстовый узел из xml
- 13. LINQ XML выберите узел
- 14. Как получить значение атрибута xml с помощью LINQ to XML?
- 15. Получить XML узла Text с помощью LINQ к XML
- 16. Как найти узел XML по пути в Linq-to-XML
- 17. Как удалить XML узел с помощью атрибута
- 18. Как получить родственный узел XML
- 19. Как получить элементы по имени в XML с помощью LINQ
- 20. Как получить этот атрибут с помощью linq в xml?
- 21. Linq для XML Получить следующий узел с тем же именем
- 22. Как получить узел в XML с помощью Java?
- 23. Как получить корневой узел в xml с помощью jquery?
- 24. Как получить узел после узла дерева XML с помощью Xpath?
- 25. Как получить значение из xml Linq
- 26. Как обновить узел XML с помощью jQuery?
- 27. Как удалить узел XML с помощью JDOM?
- 28. LINQ-XML Как я должен получить узел ошибки XML с атрибутом учитывая ошибку
- 29. Получить узел из XmlDocument с помощью XPath
- 30. Как получить родительский узел с помощью XQuery?