Например, у меня есть XML-строка:Как получить InnerText и InnerXml узла из XmlDocument?
<?xml version="1.0" encoding="utf-8"?>
<data>
<text>How to get <bold>all</bold> this string's content?</text>
</data>
Я хочу, чтобы получить все эти элементы в массиве объектов (для каждого объекта у меня есть класс), без потери их структур:
[1] (TextClass; where bold = false) How to get
[2] (TextClass; where bold = true) all
[3] (TextClass; where bold = false) this string's content?
Все, что я получаю, используя классы XmlDocument
и XmlNode
, прямо сейчас - это InnerText или InnerXml отдельно.
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("example.xml");
foreach (XmlNode child in xmlDoc.DocumentElement.ChildNodes)
{
string chName = child.Name; // text
string text = child.InnerText; // How to get all this string's content?
string xml = child.InnerXml; // How to get <bold>all</bold>this string's content?
}
Возможно ли это?
Что вы на самом деле спрашиваете здесь? У тебя есть дети. Что вам не хватает? Итерации через «ChildNodes» и соответственно создайте свои собственные экземпляры классов. Добавьте их в список «» или что-то еще. Или используйте LINQ. –
@EdPlunkett Что я пытаюсь архивировать, так это то, что я хочу получить последовательность текста, в которой у меня может быть XmlNode, который указывает, что этот текст стилизован. Итерацией бросая дочерние узлы я потеряю эту последовательность, потому что я получу текст и стилизованный текст отдельно друг от друга. –
Какая последовательность текста? Что случилось с тем, что у вас есть? Можете ли вы показать мне пример последовательности дочерних узлов, которые выглядят не по порядку в «ChildNodes»? Что значит «отдельно друг от друга»? –