首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

XML選值的問題解决办法

2012-03-03 
XML選值的問題XML code?xml version1.0 standaloneyes ? TestCaseCase CaseIDCase001User

XML選值的問題

XML code
<?xml version="1.0" standalone="yes" ?> <TestCase>  <Case CaseID="Case001">      <User UserID="User001">          <FunctionName>FName1</FunctionName>          <ActType>Create</ActType>          <RequestNumber>3</RequestNumber>          <FrequencyNumber>2</FrequencyNumber>          <DelayNumber>1</DelayNumber>      </User>      <User UserID="User002">          <FunctionName>FName2</FunctionName>          <ActType>Update</ActType>          <RequestNumber>5</RequestNumber>          <FrequencyNumber>2</FrequencyNumber>          <DelayNumber>3</DelayNumber>      </User>        </Case>  <Case CaseID="Case002">      <User UserID="User001">          <FunctionName>FName21</FunctionName>          <ActType>Create</ActType>          <RequestNumber>3</RequestNumber>          <FrequencyNumber>2</FrequencyNumber>          <DelayNumber>1</DelayNumber>      </User>      <User UserID="User002">          <FunctionName>FName22</FunctionName>          <ActType>Update</ActType>          <RequestNumber>5</RequestNumber>          <FrequencyNumber>2</FrequencyNumber>          <DelayNumber>3</DelayNumber>      </User>        </Case></TestCase>

現要取得CaseID="Case001"且UserID="User002"的各元素的值該如何做?

[解决办法]
XmlDocument doc = new XmlDocument();
doc.Load(@"D:\Project\C#Test\WindowsApplication1\WindowsApplication1\XMLFile1.xml");

XmlNodeList nodeList = doc.SelectNodes("//TestCase//Case[@CaseID='Case001']//User[@UserID='User002']//*");
List<string> values = new List<string>();
foreach (XmlElement element in nodeList)
{

if (!values.Contains(element.InnerText))
{
Debug.WriteLine(string.Format("ElementName:{0} Value:{1}",element.Name ,element.InnerText));
values.Add(element.InnerText);
}
}
[解决办法]
JScript code
<html><head><script type="text/javascript" src="loadxmldoc.js"></script></head><body><script type="text/javascript">xmlDoc = loadXMLDoc("Xml1.xml");var nodeList = xmlDoc.selectNodes("//Case[@CaseID='Case001']//User[@UserID='User002']//*"); for(i=0;i<nodeList.length;i++){ alert(nodeList.item(i).nodeName+"-"+nodeList.item(i).childNodes[0].nodeValue);}</script></body></html> 

热点排行