Linq to XML 读取并输出从查找列表生成的 XML
我正在尝试使用从 SharePoint 中的查找列表创建的 XML 作为树视图的数据源。它的形式为:
<NewDataSet>
<test_data>
<ID>1</ID>
<Title>MenuItem_1</Title>
<child_of />
</test_data>
<test_data>
<ID>2</ID>
<Title>Subitem_1</Title>
<Action>http://www.google.com</Action>
<child_of>MenuItem_1</child_of>
</test_data>
<test_data>
<ID>3</ID>
<Title>Subitem_2</Title>
<Action>http://www.google.com</Action>
<child_of>MenuItem_1</child_of>
</test_data>
<test_data>
<ID>4</ID>
<Title>MenuItem_2</Title>
<child_of />
</test_data>
<test_data>
<ID>5</ID>
<Title>Subitem_2_1</Title>
<Action>http://www.google.com</Action>
<child_of>MenuItem_2</child_of>
</test_data>
<test_data>
<ID>6</ID>
<Title>Subitem_2_2</Title>
<Action>http://www.google.com</Action>
<child_of>MenuItem_2</child_of>
</test_data>
<test_data>
<ID>7</ID>
<Title>Subitem_2_2_1</Title>
<Action>http://www.google.com</Action>
<child_of>Subitem_2_2</child_of>
</test_data>
</NewDataSet>
可能有 N 层,但项目通过
元素与父级相关。 我似乎无法弄清楚如何在 C# 中编写 LINQ 来正确嵌套菜单项。 一位朋友推荐我在这里发帖。非常感谢任何帮助。
I am trying to use XML created from a lookup list in SharePoint as a datasource for a treeview. It is in the form of :
<NewDataSet>
<test_data>
<ID>1</ID>
<Title>MenuItem_1</Title>
<child_of />
</test_data>
<test_data>
<ID>2</ID>
<Title>Subitem_1</Title>
<Action>http://www.google.com</Action>
<child_of>MenuItem_1</child_of>
</test_data>
<test_data>
<ID>3</ID>
<Title>Subitem_2</Title>
<Action>http://www.google.com</Action>
<child_of>MenuItem_1</child_of>
</test_data>
<test_data>
<ID>4</ID>
<Title>MenuItem_2</Title>
<child_of />
</test_data>
<test_data>
<ID>5</ID>
<Title>Subitem_2_1</Title>
<Action>http://www.google.com</Action>
<child_of>MenuItem_2</child_of>
</test_data>
<test_data>
<ID>6</ID>
<Title>Subitem_2_2</Title>
<Action>http://www.google.com</Action>
<child_of>MenuItem_2</child_of>
</test_data>
<test_data>
<ID>7</ID>
<Title>Subitem_2_2_1</Title>
<Action>http://www.google.com</Action>
<child_of>Subitem_2_2</child_of>
</test_data>
</NewDataSet>
There may be N tiers, but the items relate to the parent via the <child_of>
element.
I can't seem to figure out how to write the LINQ in C# to nest the menu items properly.
A friend recommended I post here. Any help is greatly appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以做这样的事情,但我会考虑很久才能将其实际放入生产代码中。
请注意,这假设元素具有“空字符串”的父键或位于其父元素之后的源列表中。
就我个人而言,我会将其(尤其是聚合)纳入其自己的方法中。
You could do something like this, but I would think long about actually putting it into production code.
Note that this assumes that an element has a parent key of "empty string" or comes in the source list after its parent.
Personally, I would factor this (especially the aggregation) into a method of its own.