如何加载 XML 文档并查询用户选择的数据
希望无论你在做什么,你都过得很好,生活幸福。 我有一个大问题。嗯,这对我来说是一项艰巨的工作。我尝试先用谷歌搜索并遵循一些教程,但最终意识到我需要 stackoverflowers 的帮助。
我有一个很大的 xml 文件,如下所示。我无法控制它的结构,因为它已经与数据一起存在。
<?xml version="1.0" encoding="utf-8" ?>
<root>
<Category Cat="A">
<SubLevel Name="Sub1">
<option name="a" />
<option name="b" />
</SubLevel>
<SubLevel Name="Sub2">
<option name="a" />
<option name="b" />
</SubLevel>
</Category>
<Category Cat="B">
<SubLevel Name="Sub1">
<option name="a" />
<option name="b" />
</SubLevel>
<SubLevel Name="Sub2">
<option name="a" />
<option name="b" />
</SubLevel>
</Category>
</root>
我有一个 aspx 页面,其中包含下拉列表(对于类别,例如“A”)、单选按钮列表(对于子级别,例如“Sub1”)和复选框列表(对于选项,例如“a”)。
这个想法是,如果用户从下拉列表中选择类别 A,则单选按钮列表将填充相应的数据(例如 Sub1、Sub2)。如果用户从单选按钮列表中选择 Sub1,则复选框列表将填充选项数据(例如“a,b”)。
我有界面,但还没有太多代码。我可以将 xml 加载到 XMLDocument 或数据集中,但不知道如何继续填充/过滤和查询数据。需要vb.net中的代码。没有对 XMLDocument/Dataset 的偏好。我可以用任何东西。那么我怎样才能实现这一目标呢?
非常感谢您的帮助。 (PS。我没有写下我拥有的部分代码,因为我希望它对你来说是灵活的)
Hope you are doing well and happy with your life whatever you are doing.
I have a big question. Well, it's a big job for me. I tried to google and follow some tutorials frist but finally realise I need help from stackoverflowers.
I have a one big xml file such below. I have no control over its structure as it already exists with data.
<?xml version="1.0" encoding="utf-8" ?>
<root>
<Category Cat="A">
<SubLevel Name="Sub1">
<option name="a" />
<option name="b" />
</SubLevel>
<SubLevel Name="Sub2">
<option name="a" />
<option name="b" />
</SubLevel>
</Category>
<Category Cat="B">
<SubLevel Name="Sub1">
<option name="a" />
<option name="b" />
</SubLevel>
<SubLevel Name="Sub2">
<option name="a" />
<option name="b" />
</SubLevel>
</Category>
</root>
I have a aspx page with a dropdownlist (for Cat eg."A"), radiobuttonlist(for Sublevel eg. "Sub1") and checkboxlist(for option eg."a").
The idea is if a user select Category A from dropdownlist, the Radiobuttonlist will be filled with corresponding data (eg. Sub1, Sub2). if the user select Sub1 from radiobuttonlist, the checkboxlist will be filled with option data (eg. "a, b")
I have the interface but I don't have much code yet. I can either load the xml into XMLDocument or a Dataset but don't know how to continue Filling/Filtering and Querying data. Need the code in vb.net. No preference over XMLDocument/Dataset. I can use whatever. So How can I achieve this?
THanks so much for your help. (PS. i didn't write down the partial codes I have coz I want it to be flexible for u)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我会使用 LINQ to XML。假设您的 XML 是硬编码的,并且您正在使用的表单上只有一个组合框。因此,这段代码:
将使用第一级填充组合框。现在,在组合框的 Click 事件中,您需要一个查询,
然后您可以使用 For Each 语句迭代子级别名称,并动态加载单选按钮控件(使用子级别的名称标记控件)。复选框依此类推。您可以使用 XDocument.Load() 加载 myxml 变量
希望这会有所帮助。 VB 的 XML 处理是它比 C# 更胜一筹的几个领域之一,因此,如果您有大量 XML 需要处理,我会坚持使用 VB.NET
I'd use LINQ to XML. Let's assume that your XML is hard coded and you only have one combobox on the form you are using. So, this code:
will populate the combobox with the first level. Now, in the combobox's Click event, you need a query like
from which you can then iterate the sublevel Names using a For Each statement, and load up your radiobutton control dynamically (tagging the controls with the name of the sublevel). And so on for the checkboxes. You can load up the myxml variable by using XDocument.Load()
Hope this helps. VB's XML handling is one for the few areas in which it socres decisively over C#, so if you have a lot of XML to handle, I'd stick to VB.NET