내 C# 응용 프로그램에 문제가 있습니다. 첫 번째 노드의 속성 만 가져올 수 있으며 다음 노드의 속성을 가져올 수 없습니다.xml 속성이 검색되지 않습니다.
는 XML이 형식에 ..
<ALLPRODUCTS>
<PRODUCT ITEM="1">
<QUANTITY>5</QUANTITY>
</PRODUCT>
<PRODUCT ITEM="2">
<QUANTITY>6</QUANTITY>
</PRODUCT>....
응용 프로그램은 하나 같이 첫 번째 제품 번호를 가져옵니다과 5의 양을 가지고 ...하지만 그것은 단지 양을 제공하고 항목을 말한다 그 후 number가 null입니다. 여기에 코드 메신저 첫 번째 후 제품 ID로 null을 받고있는 이유 ...
while (reader.Read())
{
if (reader.Name.Equals("PRODUCT"))
{
String id;
String qty;
try
{
id = reader.GetAttribute("ITEM");
reader.ReadToFollowing("QUANTITY");
qty = reader.ReadInnerXml();
if (qty.Equals("0"))
{
oos++;
}
else
{
inStock++;
}
status.Refresh();
stockLevelList.Add(id, qty);
}
catch (Exception e)
{
MessageBox.Show(e.Message, e.Source, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
사람이 제안 할 수 있습니다 사용?
XML이 거대한 (즉, 25Mb보다 큼) 경우가 아니라면이 종류의 작업을 위해 XmlDocument 및 SelectNodes와 같은 DOM 메소드를 사용하는 것이 더 나을 것입니다. –
'reader.MoveToNextAttribute()'를하고 이름을 검사하여 그것이'ITEM'인지 확인하고 싶습니다. 만약 그렇다면'reader.Value'를 호출해서 그것을 얻을 수 있습니다. 이 경우 XML 판독기를 사용하지 않고 일부 POCO에서 XML 직렬화를 사용하기 만합니다. 피투성이가 될 수 있습니다. – TyCobb
제목을 편집했습니다. "제목에"태그 "를 포함해야합니까?] (http://meta.stackexchange.com/questions/19190/) "일치 의견은"아니오, 그들은해서는 안됩니다. " –