1

私は私がすでにやったことでストラトします。したがって、次の XMLfile があります。

<places yahoo:start="0" yahoo:count="23" yahoo:total="23">
    <place yahoo:uri="http://where.yahooapis.com/v1/place/523920" xml:lang="en-us">
        <woeid>523920</woeid>
        <placeTypeName code="7">Town</placeTypeName>
        <name>Warsaw</name>
        <country type="Country" code="PL" woeid="23424923">Poland</country>
        ...
    </place>
    ...
</places>

必要のない部分はスキップします (少なくともそうだと思います)。とにかく、この特定のケースでは 23 の変数 <place> を含む <places> があります。次のコードを実行します。

List<XElement> list = XElement.Parse(e.Result).Elements().ToList();

その結果、23 個の XElements (場所) のリストを取得しましたが、何らかの理由で <woeid> 内にある値を取得できません。次のコードは機能しません :-(

foreach (XElement element in list) {
    String woeid = element.Element("woeid").Value;
    // ... sth else to do with each woeid
}

それらの値を取得するのを手伝ってもらえますか?

[アップデート]

コンテキストメニューからページソースを取得することで、あなたが @LB に求めていたものを見つけたと思います。これがそれです。手伝って頂けますか?

<?xml version="1.0" encoding="UTF-8"?>
<places xmlns="http://where.yahooapis.com/v1/schema.rng" xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" yahoo:start="0" yahoo:count="23" yahoo:total="23">

[解決済み]

名前空間についてのヒントをありがとう。試行錯誤法を使用して、私はそれを行いました。答えは、次のように、要素名の前に括弧で名前空間を追加する必要があるということです。

String woeid = element.Element("{http://where.yahooapis.com/v1/schema.rng}woeid").Value;

そして今、それは単に機能します。もう一度ありがとう。

4

0 に答える 0