Каков более эффективный способ проверки XmlDocument для узла XmlDeclaration?Как проверить XmlDeclaration в XmlDocument C#
5
A
ответ
6
Какая «эффективность» вы после? Эффективность выражения или эффективность во время выполнения? Вот запрос LINQ, который находит объявление довольно быстро:
Я сильно подозреваю, что будет достаточно эффективно. Возможно, вы могли бы просто проверить, был ли первый дочерний узел XmlDeclaration
... Я не думаю что-нибудь еще может прийти перед ним.
Если есть возможность использовать LINQ to XML, то это становится еще проще - вы просто используете свойство XDocument.Declaration
.
8
Чтобы проверить, имеет один:
bool hasDec = doc.FirstChild.NodeType == XmlNodeType.XmlDeclaration;
Чтобы получить его, если он есть:
XmlDeclaration dec = doc.FirstChild as XmlDeclaration;
Помните, что нет никакого содержания не допускаются до объявления XML (запрещающего спецификацию, которая не считается содержимым, но артефактом кодирования в потоке, поэтому не будет соответствующего узла).
Смежные вопросы
- 1. Как добавить пользовательскую XmlDeclaration с XmlDocument/XmlDeclaration?
- 2. C# XMLDOCUMENT Вершины
- 3. Как проверить, изменился ли XmlDocument?
- 4. [C#] Добавить ссылку XSL в XMLDocument
- 5. Как закрыть XMLDocument в C#
- 6. как закрыть xmldocument в C#
- 7. XmlDocument Сохранить в других местах
- 8. При сохранении XmlDocument, он игнорирует кодировку в XMLDECLARATION (UTF8) и использует UTF16
- 9. Добавить XmlDocument в XmlDocument
- 10. Как пропустить узлы в XMLDocument в C#
- 11. Создайте новый XmlDocument из существующих данных XmlDocument в Asp.Net
- 12. Сложение XMLDocument в C# .Net
- 13. Как десериализовать XMLDocument для объекта на C#?
- 14. C# XmlDocument SelectNodes
- 15. C# XMLDocument to DataTable?
- 16. XmlDocument resrange XmlNodes C#
- 17. вставки XmlDocument в узел XmlDocument
- 18. Невозможно отправить XmlDocument как UTF-8, закодированный с использованием HttpWebRequest
- 19. Создание XML с XmlDocument C#
- 20. C# XmlDocument SelectNodes не работает
- 21. Комбинировать два xml_docs C# xmlDocument
- 22. XmlDocument GetElementsByTagName в указанном блоке в C#
- 23. Builder C++: XMLDocument Заменить узел
- 24. Преобразование объекта XmlDocument в объект XmlNode - C#?
- 25. Использование XmlDocument для извлечения значений в C#
- 26. Невозможно использовать InsertAfter для XmlDocument в C#
- 27. XslCompiledTransform от XmlDocument до XmlDocument
- 28. XMLDocument в XML-файл
- 29. C# XmlDocument изменяет данные при загрузке?
- 30. XMLDOCUMENT ошибка недопустимого символа в C#
Вы помните правильно, декларация не может иметь ничего - включая пробелы - перед этим, что позволяет повысить эффективность как в выражении, так и при выполнении. –