c#如何通过xml的value值查找到相同值的节点的子节点集合?

psz_511885035 2017-09-26 06:42:35
<?xml version="1.0" encoding="utf-8"?>
<Info>
<receipt>
<type>1</type>
<store_type>4</store_type>
<store>北京新程</store>
<reipt_code>a2e43-1234-32x4-12f5-2b2d678bc23d</reipt_code>
<receipt_detail>
<prod_archives_code>30f62e43-5664-43b4-b2f2-ce2d328bc114</prod_archives_code>
<box_qty>1</box_qty>
<batch_code>222134</batch_code>
<pack_scheme_code>899493dc-ce54-4af4-96ff-bf84b780d4e7</pack_scheme_code>
<batch>
<prod_batch_code>6e9a5361-f074-4971-be14-7bb4f312547b</prod_batch_code>
<bar_code>s10000230300000001</bar_code>
<stand_qty>7</stand_qty>
<figure_no> H000H5</figure_no>
<spec_type> H000H5</spec_type>
<name>轮子</name>
<time>2017/8/31 17:51:51</time>
</batch>
</receipt_detail>
<bad>2</bad>
</receipt>
<receipt>
<type>2</type>
<store_type>3</store_type>
<store>上海新程</store>
<reipt_code>a2e43-1234-32x4-12f5-2b2d678bc23d</reipt_code>
<receipt_detail>
<prod_archives_code>50762e43-3224-43b4-b2f2-ce2d328bc114</prod_archives_code>
<box_qty>2</box_qty>
<batch_code>100001</batch_code>
<pack_scheme_code>23d193dc-ce54-4af4-96ff-bf84b780d4e7</pack_scheme_code>
<batch>
<prod_batch_code>1b2s5361-f074-4971-be14-7bb4f312547b</prod_batch_code>
<bar_code>s10000230300000001</bar_code>
<stand_qty>13</stand_qty>
<figure_no> H000H2faa</figure_no>
<spec_type> H000H2faa</spec_type>
<name>金轮子1</name>
<time>2017/8/31 17:52:00</time>
</batch>
<batch>
<prod_batch_code>2s2s5361-f074-4971-be14-7bb4f312547b</prod_batch_code>
<bar_code>s10000230300000002</bar_code>
<stand_qty>16</stand_qty>
<figure_no> H000H2faa1</figure_no>
<spec_type> H000H2faa1</spec_type>
<name>金轮子2</name>
<time>2017/8/31 17:53:00</time>
</batch>
</receipt_detail>
<receipt_detail>
<prod_archives_code>2232e43-3224-43b4-b2f2-ce2d328bc114</prod_archives_code>
<box_qty>1</box_qty>
<batch_code>100002</batch_code>
<pack_scheme_code>34d193dc-ce54-4af4-96ff-bf84b780d4e7</pack_scheme_code>
<batch>
<prod_batch_code>f2455361-f074-4971-be14-7bb4f312547b</prod_batch_code>
<bar_code>s10000230300000021</bar_code>
<stand_qty>24</stand_qty>
<figure_no> H000H1faa</figure_no>
<spec_type> H000H1faa</spec_type>
<name>轮子1</name>
<time>2017/8/31 17:54:00</time>
</batch>
</receipt_detail>
</receipt>
</Info>


如何同个Type为1的xml的节点<reipt_code>a2e43-1234-32x4-12f5-2b2d678bc23d</reipt_code>的值去获得Type为2的xml相同节点名和相同值得子节点集合?
...全文
1667 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
好大一地嗯 2017-11-07
  • 打赏
  • 举报
回复
可以有各简单的 定义类型实体类,使用C#反序列化XML。 获得对象后,然后用linq查找。 /// <summary> /// 反序列化 /// </summary> /// <typeparam name="T">类型</typeparam> /// <param name="xmlStr">xml字符串</param> /// <returns>对象实体</returns> public static T DataContractXmlDeSerializer<T>(string xmlStr) { xmlStr = xmlStr.Replace("xsi:schemaLocation=\"http://www.scte.org/schemas/130-3/2008/adm SCTE_130-3_2008.xsd\"", ""); xmlStr = xmlStr.Replace("xmlns=\"http://www.scte.org/schemas/130-3/2008/adm\"", ""); XmlSerializer xml = new XmlSerializer(typeof(T)); T obj = default(T); var ms = new MemoryStream(Encoding.UTF8.GetBytes(xmlStr)); try { obj = (T)xml.Deserialize(ms); } catch { } finally { ms.Dispose(); } return obj; } 实体类 就按照XML结构定义复合类即可

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧