0

ソースxmlがあります:

<Source>
    <First>
        <Name>Name1</Name>
    </First>
    <First>
        <Name>Name2</Name>
    </First>
</Source>

ソース xml からデータをコピーしたい空のターゲット xml があります。

空のターゲット xml は次のとおりです。

<Target>
    <Second>
        <FirstName></FirstName>
    </Second>
    <Second>
        <FirstName></FirstName>
    </Second>
</Target>

コピー後、ターゲット xml は次のようになります。

<Target>
    <Second>
        <FirstName>Name1</FirstName>
    </Second>
    <Second>
        <FirstName>Name2</FirstName>
    </Second>
</Target>

簡単な linq to xml ソリューションを探しています。問題は、ソース xml の反復要素に基づいてターゲット xml の反復要素を更新する方法がわからないことです。

ありがとう。

4

2 に答える 2

0

これを解決する最も簡単な方法はわかりません。これが最善の方法です。Name.count が FirstName.count よりも大きいことを確認する必要があります。

        var sourceXml =XElement.Parse(source);
        var targetXml = XElement.Parse(target);
        var i = 0;
        var nameArray = (from name in sourceXml.Descendants("Name")
            select  name.Value).ToArray();
        foreach (var fName in targetXml.Descendants("FirstName"))
        {
            fName.Value = nameArray[i++];
        }
于 2013-07-17T09:43:32.170 に答える