如何从C#中的XML文件访问元素值和属性 [英] How to access elements values and attribute from an XML file in C#
问题描述
我有一个包含代码的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屋!