【发布时间】:2017-11-29 16:53:54
【问题描述】:
我正在尝试做的是: 我可以同时读取 xml 元素的值和属性。 我的英文不是很好。对此感到抱歉。
<all>
<hp id="1" t="K" k="1">DÖNEN VARLIKLAR</hp>
<hp id="10" t="K" k="10">HAZIR DEĞERLER</hp>
<hp id="100" t="K" k="100">KASA</hp>
<hp id="1" t="B" k="100.02">ŞUBE KASASI</hp>
<hp id="5417" t="B" k="100.Y0001">Yeni Hesap Adı</hp>
</all>
这是我的 xml 文件。 我想读取 hp 元素的值和 k 属性,并且我想将读取的值放在 datagridview 的列下的行中。这是我的 c# 代码:
dataGridView2.ColumnCount = 2;
dataGridView2.Columns[0].Name = "Hesap Kodu";
dataGridView2.Columns[1].Name = "Hesap Adı";
XDocument xDoc = XDocument.Load(@"C:\Luca_Offline_Yerel\hp461979110642727.xml");
XElement rootElement = xDoc.Root;
XmlDocument i = new XmlDocument();
i.Load(@"C:\Luca_Offline_Yerel\hp461979110642727.xml");
XmlNodeList xnList = i.SelectNodes("/all / hp");
DataSet ds = new DataSet();
//xml dosyamızı okumak için bir reader oluşturuyoruz.
XmlReader xmlFile;
xmlFile = XmlReader.Create(@"C:\Luca_Offline_Yerel\hp461979110642727.xml", new XmlReaderSettings());
//içeriği Dataset e aktarıyoruz.
ds.ReadXml(xmlFile);
//datagridviewin kaynağı olarak dataseti gösteriyoruz.
String Kod, Ad;
foreach (XElement rehberimiz in rootElement.Elements())
{
//yapmam gereken ad'a hp nin element içeriğini ekleme!
Kod = rehberimiz.Attribute("k").Value;
Ad = rehberimiz.Element("hp_Text").Value;
dataGridView2.Rows.Add(Kod, Ad);
}
但我在这一行得到一个错误:
Ad = rehberimiz.Element("hp_Text").Value;
【问题讨论】:
-
您可以在帖子中添加错误的详细信息吗?
-
你遇到了什么错误?
-
应该是 Ad = rehberimiz.Element("hp").Value;
标签: c# xml winforms datagridview