Я ищу способ записи отформатированного XML в окно вывода консоли или отладки с настраиваемой длиной отступа. Значение по умолчанию XML Отступ документа выглядит как 2 пробела. I sh, чтобы изменить отступ от двух пробелов (" ")
до четырех (" ")
.
От:
<urlset>
<url>
<loc>/js/lazyload.js</loc>
</url>
</urlset>
До:
<urlset>
<url>
<loc>/js/lazyload.js</loc>
</url>
</urlset>
I Я использую: XmlDocument
и OuterXml
, чтобы получить содержимое документа XML в строку. Затем я анализирую строку и печатаю ее в окне вывода, используя: Debug.WriteLine(XElement.Parse(XMLDoc.OuterXml).ToString())
.
Мой код:
' Create XML Document
Dim XMLDoc As New XmlDocument
With XMLDoc
' Add Urlset
Dim XMLSchema As XmlElement = .CreateElement("urlset")
.AppendChild(XMLSchema)
' Add URLs
For Each Script In ScriptsList
Dim XMLUrl As XmlElement = .CreateElement("url")
XMLSchema.AppendChild(XMLUrl)
Dim XMLLoc As XmlElement = .CreateElement("loc")
XMLLoc.InnerText = Script
XMLUrl.AppendChild(XMLLoc)
Next
' Write To Output Window
Debug.WriteLine(XElement.Parse(XMLDoc.OuterXml).ToString())
End With
У меня есть два вопроса, касающиеся разбора и отступа строк.
- В настоящее время я использую
XElement
для анализа документа, который является частью библиотеки LINQ. Есть ли другой способ разбора документа, который использует стандартную XML библиотеку Imports System.Xml
? Примечание: я понимаю, что LINQ также является частью этой библиотеки. (Imports System.Xml.Linq
) - Я прочитал, что могу использовать
XmlWriterSettings
для изменения символов отступа и отступа. Однако, похоже, мне придется вручную выводить каждую строку вручную: Ссылка на MSDN . Я ищу метод, который позволяет мне предоставить только строку, которая затем будет автоматически отформатирована и выведена в журнал вывода.