私はxml
ファイルを以下のように持っています。そして私はキーを使って私に価値を与える方法を作りたいと思っています。XML - C#シリアライズされたオブジェクトのキーを使用して値を取得するための一般的なメソッド
</cbn:Class>
<cbt:Students>
<cbt:Student>
<cbt:Key>x-param-key-studentName-1</cbt:Key>
<cbt:Value>x-param-studentSurname-val</cbt:Value>
</cbt:Student>
<cbt:Student>
<cbt:Key>x-param-key-studentName-2</cbt:Key>
<cbt:Value>x-param- studentSurname-val</cbt:Value>
</cbt:Student>
</cbt:Students>
</cbn:Class>
だから、私はstudentName
キーとして使用してstudentSurname
のvaludを取得したいです。 xml
がシリアライズされているので、例えばStudentとしてStudentにアクセスできます。 私は以下のように書かれているコードを使用して、最初の生徒の値を取得することができます:
myData
がシリアライズされたオブジェクトである
string studentSurname = myData.Class.Students.Student[0].Value;
。最初の生徒だけではなく、より一般的な方法が欲しいです。
EDIT:別のXML
<?xml version="1.0" encoding="UTF-8"?>
<cbn:PaidOrderNotification xmlns:cbn="http://*/3.12.0.0/*.xsd">
<cbn:NotificationDate>2016-07-29T11:59:29.1137865Z</cbn:NotificationDate>
<cbn:Purchase cbt:Id="95233035" xmlns:cbt="http://xml.*.com/3.12.0.0/*.xsd">
<cbt:Status>Test Order</cbt:Status>
<cbt:StatusId>TST</cbt:StatusId>
<cbt:Items>
<cbt:Item cbt:RunningNo="1">
<cbt:ProductId>175358</cbt:ProductId>
<cbt:ProductReportingGroup>Basic alle Laufzeiten</cbt:ProductReportingGroup>
<cbt:YourCurrencyId>EUR</cbt:YourCurrencyId>
<cbt:ProfitCalculation>
<cbt:GrossRevenue>566.44</cbt:GrossRevenue>
</cbt:ProfitCalculation>
<cbt:YourPrice>
<cbt:TotalTotalPrice>
</cbt:TotalTotalPrice>
</cbt:YourPrice>
<cbt:Deliveries />
<cbt:Additionals />
<cbt:ExtraParameters />
</cbt:Item>
</cbt:Items>
<cbt:ExtraParameters>
<cbt:ExtraParameter>
<cbt:Key>x-my-key</cbt:Key>
<cbt:Value> x-my-val</cbt:Value>
</cbt:ExtraParameter>
</cbt:ExtraParameters>
</cbn:Purchase>
</cbn:PaidOrderNotification>
私はここからこの値を利用したいと思います:
<cbt:ExtraParameters>
<cbt:ExtraParameter>
<cbt:Key>x-didi</cbt:Key>
<cbt:Value>sfsfd</cbt:Value>
</cbt:ExtraParameter>
</cbt:ExtraParameters>
はどのように私はそれを行うことができますか?
で動作するようにコードを拡張しました。 3行目で ''を開きますが、6行目で ' cbt:ExtraParameter>'を閉じます。あなたはこれを開いておらず、あなたは学生を閉じていません。 –
Bobby
申し訳ありませんが、あなたは@ManuToMaticが正しいです、私はコードを提出する前にそれを変更するのを忘れてしまっています。私は今編集: – eg16