gpt4 book ai didi

c# - 使用 C#,如何逐行显示 XML?

转载 作者:太空宇宙 更新时间:2023-11-03 20:38:13 28 4
gpt4 key购买 nike

你好,

例如我有这个 xml:

<books>
<book1 name="Cosmic">
<attribute value="good"/>
</book1>
</books>

如何在列表框控件中逐行显示它,在这种情况下最终结果将是一个包含 5 行的列表框?

此时此刻,我正在使用 LINQ to XML 来处理 XML,如下所示:

 foreach (XElement element in document.DescendantNodes())
{
MyListBox.Items.Add(element.ToString());
}

但最终结果将每个 xml 节点放在一个列表框项中(包括子节点)。

有谁知道如何将 xml 逐行放入列表框项目中?

谢谢。

杰夫

最佳答案

一个简单的解决方案将使用如下递归函数:

public void FillListBox(ListBox listBox, XElement xml)
{
listBox.Items.Add("<" + xml.Name + ">");
foreach (XNode node in xml.Nodes())
{
if (node is XElement)
// sub-tag
FillListBox(listBox, (XElement) node);
else
// piece of text
listBox.Items.Add(node.ToString());
}
listBox.Items.Add("</" + xml.Name + ">");
}

当然,这个只会打印标签名称(例如 <book1> 在你的例子中)而不是属性( name="Cosmic" 等)。我相信你可以自己把它们放进去。

关于c# - 使用 C#,如何逐行显示 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4194960/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com