如何从嵌套属性获取值?

问题描述 投票:0回答:1

这是我的xml文档。我需要获得一个小时要素的价值。

 `<report>
    <location city="">
     <interesting>
      <url description="прогноз">
     </interesting>
     <day value="20200430" name="четверг">
       <symbol value="11" desc="Переменная облачность с грозовыми ливнями" 
       value2="11" desc2="Переменная облачность с грозовыми ливнями"/>
       <tempmin value="11" unit="°C"/>
       <tempmax value="22" unit="°C"/>
       <wind value="19" unit="km/h" symbol="13" symbolB="45"/>
       <wind-gusts value="38" unit="km/h"/>
       <rain value="3" unit="mm"/>
       <humidity value="69"/>
       <pressure value="1006" unit="mb"/>
       <snowline value="2500" unit="m"/>
       <uv_index_max value="5"/>
       <sun in="05:34" mid="12:54" out="20:15"/>
       <moon in="10:52" out="02:29" lumi="44.82%" desc="Прибывающая, 44.82% 
         Освещенность" symbol="7"/>
         <local_info local_time="10:11" offset="3"/>
       <hour value="02:00">
       <temp value="14" unit="°C"/>
       <symbol value="2" desc="Переменная облачность" value2="2" 
        desc2="Переменная облачность"/>
       <wind value="18" unit="km/h" dir="SW" symbol="14" symbolB="46"/>
       <wind-gusts value="35" unit="km/h"/>
       <rain value="0" unit="mm"/>
       <humidity value="57"/>
       <pressure value="1005" unit="mb"/>
       <clouds value="41%"/>
       <snowline value="2500" unit="m"/>
       <windchill value="14" unit="°C"/>
       <uv_index value="0"/>
       </hour>
       <hour value="05:00">
      **<temp value="12"** unit="°C"/> 
        <symbol value="2" desc="Переменная облачность" value2="2" 
          desc2="Переменная облачность"/>
        <wind value="15" unit="km/h" dir="SW" symbol="14" symbolB="46"/>
        <wind-gusts value="32" unit="km/h"/>
        <rain value="0" unit="mm"/>
        <humidity value="69"/>
        <pressure value="1006" unit="mb"/>
        <clouds value="27%"/>
        <snowline value="2600" unit="m"/>
        <windchill value="12" unit="°C"/>
        <uv_index value="0"/>
       </hour>
<hour value="08:00">...</hour>
...

我写了这段代码。但是它不能正常工作。它无法获得指定的元素,而我得到了一个系统。一直<< InvalidOperationException。如果我想从任何小时元素中获取任何值,如何在下面的代码中找到正确的路径?(例如,此“ temp value =“ 14”)抱歉我的英语。 var mycur = doc.Descendants("day").Where(x => x.Element("hour").Attribute("value").Value=="16:00").Elements("temp").First(); var cur = mycur.Element("temp").Attribute("value").Value;

这是我的xml文档。我需要获得一个小时要素的价值。 `

[[[[[[[[[[[[[>]您应该考虑按顺序查询XML report =>location => day ==> hour。尝试一下:

c# xml xml-parsing linq-to-xml
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.