[英]XML Error: There are multiple root elements ,how to read XML string variable in asp.net c#?
我正在使用Visual Studio 2012 asp.net c#。 我無法讀取XML字符串變量“ j”。 請幫忙。 我想讀取字符串變量“ j”,並在標簽上顯示XML值。 請讓我知道正確的代碼。 謝謝
WeatherAPI(lbldistrict.Text + "," + "India");
XmlDocument j = WeatherAPI(lbldistrict.Text + "," + "India");
var myXml = j.DocumentElement.InnerXml.ToString();
XmlDocument doc = new XmlDocument();
doc.LoadXml(myXml); //XML Error: There are multiple root elements
XmlTextReader reader = new XmlTextReader("j");
XmlNodeType type;
while (reader.Read())
{
type = reader.NodeType;
if (type == XmlNodeType.Element)
{
if (reader.Name == "temp_C")
{
reader.Read();
lbltemp.Text = reader.Value;
}
if (reader.Name == "windspeedKmph")
{
reader.Read();
lblwind.Text = reader.Value;
}
if (reader.Name == "weatherIconUrl")
{
reader.Read();
ImgWeather.ImageUrl = reader.Value;
}
if (reader.Name == "weatherDesc")
{
reader.Read();
lblDec.Text = reader.Value;
} if (reader.Name == "tempMinC")
{
reader.Read();
lblLow.Text = reader.Value;
} if (reader.Name == "tempMaxC")
{
reader.Read();
lblHigh.Text = reader.Value;
} if (reader.Name == "humidity")
{
reader.Read();
lblHumidity.Text = reader.Value;
}
}
}
我正在從Web服務獲取XML文件。 XML文件如下所示:
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<data>
<request>
<type>City</type>
<query>Madhubani, India</query>
</request>
<current_condition>
<observation_time>05:56 AM</observation_time>
<temp_C>30</temp_C>
<temp_F>87</temp_F>
<weatherCode>353</weatherCode>
<weatherIconUrl>
<![CDATA[http://cdn.worldweatheronline.net/images/wsymbols01_png_64/wsymbol_0009_light_rain_showers.png]]>
</weatherIconUrl>
<weatherDesc><![CDATA[Light rain shower]]></weatherDesc>
<windspeedMiles>8</windspeedMiles>
<windspeedKmph>13</windspeedKmph>
<winddirDegree>110</winddirDegree>
<winddir16Point>ESE</winddir16Point>
<precipMM>0.2</precipMM>
<humidity>84</humidity>
<visibility>10</visibility>
<pressure>1005</pressure>
<cloudcover>70</cloudcover>
</current_condition>
<weather>
<date>2014-09-20</date>
<tempMaxC>33</tempMaxC>
<tempMaxF>91</tempMaxF>
<tempMinC>25</tempMinC>
<tempMinF>77</tempMinF>
<windspeedMiles>9</windspeedMiles>
<windspeedKmph>15</windspeedKmph>
<winddirection>ESE</winddirection>
<winddir16Point>ESE</winddir16Point>
<winddirDegree>124</winddirDegree>
<weatherCode>353</weatherCode>
<weatherIconUrl><![CDATA[http://cdn.worldweatheronline.net/images/wsymbols01_png_64/wsymbol_0009_light_rain_showers.png]]>
</weatherIconUrl>
<weatherDesc><![CDATA[Light rain shower]]></weatherDesc>
<precipMM>3.6</precipMM>
</weather></data>"
等等
InnerXml
不包含DocumentElement
本身,因此看起來您在XML文檔樹中有多個根,因此,它不是XML文檔。 這可能起作用:
var myXml = j.DocumentElement.InnerXml.ParentNode.ToString();
或者,您可以將結果XML視為一組元素節點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.