Tôi cần đọc tất cả các Child Nodes
của thẻ <Imovel>
, vấn đề là tôi có nhiều hơn 1 (một) <Imovel>
thẻ trong tệp XML của mình và sự khác biệt giữa mỗi thẻ <Imovel>
là một thuộc tính được gọi là ID.Đọc tất cả các nút con XML của từng nút cụ thể
Đây là một ví dụ
<Imoveis>
<Imovel id="555">
<DateImovel>2012-01-01 00:00:00.000</DateImovel>
<Pictures>
<Picture>
<Path>hhhhh</Path>
</Picture>
</Pictures>
// Here comes a lot of another tags
</Imovel>
<Imovel id="777">
<DateImovel>2012-01-01 00:00:00.000</DateImovel>
<Pictures>
<Picture>
<Path>tttt</Path>
</Picture>
</Pictures>
// Here comes a lot of another tags
</Imovel>
</Imoveis>
Tôi cần đọc tất cả các thẻ của mỗi thẻ <Imovel>
, và ở cuối mỗi xác nhận rằng tôi làm trong thẻ <Imovel>
của tôi, tôi cần phải làm xác nhận khác.
Vì vậy, tôi nghĩ rằng tôi cần phải làm 2 (hai) foreach
hoặc một for
và foreach
, tôi không hiểu rất rõ về LINQ
nhưng làm theo mẫu của tôi
XmlReader rdr = XmlReader.Create(file);
XDocument doc2 = XDocument.Load(rdr);
ValidaCampos valida = new ValidaCampos();
//// Here I Count the number of `<Imovel>` tags exist in my XML File
for (int i = 1; i <= doc2.Root.Descendants().Where(x => x.Name == "Imovel").Count(); i++)
{
//// Get the ID attribute that exist in my `<Imovel>` tag
id = doc2.Root.Descendants().ElementAt(0).Attribute("id").Value;
foreach (var element in doc2.Root.Descendants().Where(x => x.Parent.Attribute("id").Value == id))
{
String name = element.Name.LocalName;
String value = element.Value;
}
}
Nhưng không hoạt động rất tốt, trong tuyên bố của tôi foreach
vì thẻ <Picture>
của tôi, thẻ gốc của cô ấy không có thuộc tính ID.
Ai đó có thể giúp tôi thực hiện phương pháp này?
'Nhưng không hoạt động rất tốt, trong statement.' foreach của tôi bạn có thể giải thích những gì bạn có nghĩa là bằng cách này? –
Có, điều này là do cha mẹ của thẻ '