如何从C#中的XML文件访问元素值和属性 [英] How to access elements values and attribute from an XML file in C#

查看:105
本文介绍了如何从C#中的XML文件访问元素值和属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含代码的XML文件:



i have an XML file with code:

<?xml version="1.0" encoding="utf-8"?>
<car_ads>
  <car_make make="suzuki" adj_kw="null">
    <model data_type="string" adj_kw="null" class="کار_ماڈل ">
      <model_instance>ALTO</model_instance>
      <model_instance>KHYBER</model_instance>
  </model>
    <year data_type="integer" adj_kw="yes" class="ایر ">
      <adj_kw>ماڈل </adj_kw>
      <adj_kw>ء</adj_kw>
       </year>
     <price data_type="string" adj_kw="yes" class=" قیمت  " >
      <adj_kw>قیمت  </adj_kw>
      <adj_kw>ڈیمانڈ </adj_kw>
    </price>
</car_make>
  <car_make make="سوزوکی" adj_kw="null">
    <model data_type="string" adj_kw="null" class="کار_ماڈل ">
      <model_instance>alto</model_instance>
      <model_instance>آلٹو</model_instance>
     </model>
    <year data_type="integer" adj_kw="yes" class="ایر ">
      <adj_kw>ماڈل </adj_kw>
      <adj_kw>ء</adj_kw>
      <adj_kw>ایئرآفمینوفیکچرنگ </adj_kw>
    </year>
     <price data_type="string" adj_kw="yes" class=" قیمت  " >
      <adj_kw>قیمت  </adj_kw>
      <adj_kw>ڈیمانڈ </adj_kw>
    </price>
</car_make>
</car_ads>







i我在c#
$ b中使用Xmldocument解析这个$ b




i am parsing this using Xmldocument in c#

string xmlText = File.ReadAllText(@"G:\\car_xml_final.xml");
            var doc = new XmlDocument();
            doc.LoadXml(xmlText);





现在我想得到两个查询的输出



1.如果make属性具有值suzuki,则将其所有model_instance值存储在文本框中。 (例如ALTO和KHYBER)



2如果类值等于,我想在列表框中获取所有adj_kw元素值(即قیمت,ڈیمانڈ) قیمت和相应的属性,即文本框中的data_type和adj_kw值



需要紧急帮助。



now i want to get output for two query

1. if make attribute has value suzuki than store all its the model_instance value in a text box. (eg ALTO and KHYBER only)

2 i want to get all adj_kw elements values (ie قیمت , ڈیمانڈ only )in a list box if class value is equal to "قیمت" and corresponding attributes i.e data_type and adj_kw value in a text box

need urgent help.

推荐答案

XElement root = XElement.Load("sample.xml");
           IEnumerable<XElement> makes =
               from el in root.Elements("car_make")
               where (string)el.Attribute("make") == "suzuki"
               select el;

           foreach (XElement el in makes.Elements("model"))
               foreach(XElement instance in el.Elements("model_instance"))
                   Console.WriteLine(instance.Value);







经过试验和测试。我希望当你得到一些提醒时,再开始挖掘它。



如果有帮助,请将此标记为答案。




Tried and tested. I hope when you get some heads up, start digging it more.

Please mark this as answer if it helps.


这篇关于如何从C#中的XML文件访问元素值和属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆