私は次のファイルXML
を持っており、特定の属性を持つ要素を探したいと思っています。私が見つけたのは"Type" == "Billing"
の属性を探しています。xmlの属性を使用して特定のノードを見つけることに問題がある
<?xml version="1.0"?>
<PurchaseOrder PurchaseOrderNumber="99503" OrderDate="1999-10-20">
<Address Type="Shipping">
<Name>Ellen Adams</Name>
<Street>123 Maple Street</Street>
<City>Mill Valley</City>
<State>CA</State>
<Zip>10999</Zip>
<Country>USA</Country>
</Address>
<Address Type="Billing">
<Name>Tai Yee</Name>
<Street>8 Oak Avenue</Street>
<City>Old Town</City>
<State>PA</State>
<Zip>95819</Zip>
<Country>USA</Country>
<Address Type="Shipping">
<Name>Ellen Adams</Name>
</Address>
<Address Type="transporting">
<Name>Tai Yee</Name>
<Street>8 Oak Avenue</Street>
</Address>
</Address>
</PurchaseOrder>
問題は、ここでは第二Address
ノードは、私が実際に持っている弱々しいものに関連していないだろう他のいくつかの内部のノードを持っていることです。私はShipping
とtransporting
の属性を出力してはいけません。私が考えているのは、次の出力しかないので、どのようなコードが必要なのでしょうか?
<Address Type="Billing">
<Name>Tai Yee</Name>
<Street>8 Oak Avenue</Street>
<City>Old Town</City>
<State>PA</State>
<Zip>95819</Zip>
<Country>USA</Country>
</Address>
と私が持っているコードは:開始タグと終了タグの間に
XElement root = XElement.Load("PurchaseOrder.xml");
IEnumerable<XElement> address =
from el in root.Elements("Address")
where (string)el.Attribute("Type") == "Billing"
select el;
foreach (XElement el in address)
Console.WriteLine(el);
お返事ありがとうございます。それは良いアイデアです。 「必要な情報のみを含めるように要素を再構成する」ことを説明してもらえますか? 私はそれも素晴らしい考えだと思います。 –
@SaberJalilzadehは、他のアプローチの例を更新しました。希望があれば – har07
本当に感謝しています。それは素晴らしい考えを与える –