Я вникаю в мир XmlDocument и думал, что попытаюсь перестроить (по крайней мере, частично) дерево Desktop, данное программой Microsoft UISpy.XmlElement Свойство InnerText
До сих пор я мог захватить дочерний элемент рабочего стола и записать его в документ XML, а затем захватить каждый его дочерний элемент и записать его в документ XML.
Пока код выглядит следующим образом ...
using System.Windows.Automation;
using System.Xml;
namespace MyTestApplication
{
internal class TestXmlStuff
{
public static void Main(string[] args)
{
XmlDocument xDocument = new XmlDocument();
AutomationElement rootElement = AutomationElement.RootElement;
TreeWalker treeWalker = TreeWalker.ContentViewWalker;
XmlNode rootXmlElement = xDocument.AppendChild(xDocument.CreateElement("Desktop"));
AutomationElement autoElement = rootElement.FindFirst(TreeScope.Children, new PropertyCondition(AutomationElement.NameProperty, "GitHub"));
string name = autoElement.Current.Name;
while (autoElement != null)
{
string lct = autoElement.Current.LocalizedControlType.Replace(" ", "");
lct = (lct.Equals("") ? "Cusotm" : lct);
XmlElement temp = (XmlElement)rootXmlElement.AppendChild(xDocument.CreateElement(lct));
//temp.InnerText = lct;
string outerXML = temp.OuterXml;
rootXmlElement = temp;
autoElement = treeWalker.GetNextSibling(autoElement);
}
}
}
}
... и полученный файл XML ...
Теперь, когда я добавить строку, чтобы изменить свойство InnerText каждого элемента XML, например temp.InnerText = lct
Я получаю странно сформированный XML-файл.
То, что я ожидал от этого было то, что каждый InnerText будет на той же линии, что и открывающим и закрывающим тегами элемента XML, но вместо этого все, кроме InnerText последний элемент находится на новой линии.
Так что мой вопрос: почему это так? Есть ли что-то еще, что я мог бы делать с моими XML-элементами, чтобы их InnerText отображался в одной строке?
XML - это формат данных, а не один. Как IE предпочитает отображать XML-документ (в отсутствие таблицы стилей), полностью зависит от него, и, по-видимому, именно так он выбирает отображение XML-элементов со смешанным контентом. –
Если вы хотите увидеть, как выглядит истинный XML, откройте его в Notepad или Notepad ++ (или в каком-то подобном текстовом редакторе, даже в Visual Studio). Как сказал Damien_The_Unbeliever ... IE отображает XML так, как он хочет. Не так, как вы всегда ожидаете. –