Hej om vi börjar med att titta på denna kod: kolla lite mer på XmlTextReadern:XML i ASP.NET
<code>
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="iso-8859-1" %>
<%@ Import Namespace="system.text.stringbuilder" %>
<%@ Import Namespace="system.xml" %>
<script language="VB" runat="server">
function threatlevel()
Dim stThreat
Dim oReader As XmlTextReader
Dim sb1 As New System.Text.StringBuilder()
Try
oReader = New XmlTextReader("http://www.dhs.gov/dhspublic/getAdvisoryCondition")
While oReader.Read
If oReader.Name.ToString = "THREAT_ADVISORY" Then
oReader.MoveToFirstAttribute()
sb1.Append(oReader.Value.ToString)
End If
End While
Catch _Error As Exception
sb1.append(_Error.ToString)
finally
oReader.Close()
End Try
return sb1.tostring
end function
Public ReadOnly Property threat As string
Get
dim stLevelOutput
Return threatlevel()
End Get
End Property
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<%=threat %>
</body>
</html>
</code>
XML data för detta ser ut såhär:
<code>
<?xml version="1.0" encoding="UTF-8" ?>
<THREAT_ADVISORY CONDITION="ELEVATED" />
</code>
nu undrar jag hur jag skulle göra för att få ut posterna STATE och INFORM i en XML kod som ser ut såhär?:
<code>
<?xml version="1.0" encoding="UTF-8" ?>
<THREAT_ADVISORY CONDITION="ELEVATED">
<STATE>0</STATE>
<INFORM>INIT6</INFORM>
</THREAT_ADVISORY>
</code>Sv: XML i ASP.NET
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemXmlXmlTextReaderClassReadTopic.asp?frame=true
Alltså nåt sånt här:
<code>
oReader = New XmlTextReader("http://www.dhs.gov/dhspublic/getAdvisoryCondition")
While oReader.Read
If oReader.NodeType=XmlNodeType.Element then
If oReader.Name = "INFORM" Then
oReader.Read()
sb1.Append("INFORM= " + oReader.Value)
Else if oReader.Name = "STATE" Then
oReader.Read()
sb1.Append("STATE= " + oReader.Value)
End If
End if
End While
</code>
Eftersom jag inte är nån VB.Net gud så får du själv kolla syntaxen...