goyqf 2021-04-02 01:42 采纳率: 50%
浏览 40
已结题

.Net C# 操作 XML 的问题

现在需求是从前台,下拉菜单中,选择某种图书的分类后,点搜索,将该分类下的图书信息以列表形式显示出来;

下面的XML是精简出来的大致结构,现实中XML数据比这个多一些;

我现在根据前台传过来的分类ID,检索到图片分类的这一节点:

XmlNodeList xNodeList = xmlDoc.SelectNodes("//ns:Category/ns:Class[contains(ns:Id,'分类ID值')]", nsMgr);

接下来我就迷茫了,我怎么才能获得到该分类下那些图书<book>的列表数据啊?

请高手们给点建议和思路!

XML数据结构:

<?xml version="1.0" encoding="gb2312"?>
<BookStore>
    <ShopName>中原路店</ShopName>
    <TotalAmount>2000</TotalAmount>
    <Category>
        <Class>
            <Id>1</Id>
            <Name>文学类</Name>
        </Class>
        <Book>
            <Id>1001</Id>
            <BookName>书名111</BookName>
            <Price>20.00</Price>
            <ReadList>
                <Splitime>
                    <Time>2020/10/1 17:00</Time>
                    <Name>张三</Name>
                </Splitime>
                <Splitime>
                    <Time>2020/10/2 17:00</Time>
                    <Name>李四</Name>
                </Splitime>
            </ReadList>
        </Book>
        <Book>
            <Id>1002</Id>
            <BookName>书名2222</BookName>
            <Price>20.00</Price>
            <ReadList>
                <Splitime>
                    <Time>2020/10/3 17:00</Time>
                    <Name>王五</Name>
                </Splitime>
                <Splitime>
                    <Time>2020/10/4 17:00</Time>
                    <Name>赵六</Name>
                </Splitime>
            </ReadList>
        </Book>
    </Category>
    <Category>
        <Class>
            <Id>2</Id>
            <Name>动漫类</Name>
        </Class>
        <Book>
            <Id>1001</Id>
            <BookName>书名333</BookName>
            <Price>20.00</Price>
            <ReadList>
                <Splitime>
                    <Time>2020/10/1 17:00</Time>
                    <Name>张三</Name>
                </Splitime>
                <Splitime>
                    <Time>2020/10/2 17:00</Time>
                    <Name>李四</Name>
                </Splitime>
            </ReadList>
        </Book>
        <Book>
            <Id>1002</Id>
            <BookName>书名444</BookName>
            <Price>20.00</Price>
            <ReadList>
                <Splitime>
                    <Time>2020/10/3 17:00</Time>
                    <Name>王五</Name>
                </Splitime>
                <Splitime>
                    <Time>2020/10/4 17:00</Time>
                    <Name>赵六</Name>
                </Splitime>
            </ReadList>
        </Book>
    </Category>
</BookStore>

  • 写回答

2条回答 默认 最新

  • CrisYoung 2021-04-02 12:01
    关注
    
    foreach(XmlNode xn in xNodeList)
    
    if (xn.ChildNodes != null && xn.ChildNodes.Count >= 0)
    {
       foreach (XmlNode cNode in xn.ChildNodes)
       {
           if (cNode.Name != null && cNode.Name == "Id")   //这里去赋值就行了
           //其他的以此类推
       }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月29日
  • 已采纳回答 7月21日

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?