在我的應用程序中,我需要在本地機器上使用「* C:\ Laptop1 \ folder \」,「C:\ Laptop2 \ folder *」創建文件夾結構提供的xml文件。現在XML文件具有我所追求的文件名。如何挑選XML數據中的特定標記值
我的XML代碼:
<?xml version="1.0" encoding="utf-8" ?>
<Proj>
<MachineIP>
<Machine>
<Name>Laptop 1</Name>
<Path>C:\ZipFiles\Laptop1\folder\</Path>
</Machine>
<Machine>
<Name>Laptop 2</Name>
<Path>C:\ZipFiles\Laptop2\folder\</Path>
</Machine>
<Machine>
<Name>Laptop 3</Name>
<Path>C:\ZipFiles\Laptop2\folder\</Path>
</Machine>
<Machine>
<Name>Laptop 4</Name>
<Path>C:\ZipFiles\Laptop2\folder\</Path>
</Machine>
<Machine>
<Name>Laptop 5</Name>
<Path>C:\ZipFiles\Laptop2\folder\</Path>
</Machine>
<Machine>
<Name>Laptop 6</Name>
<Path>C:\ZipFiles\Laptop2\folder\</Path>
</Machine>
</MachineIP>
</Proj>
所有我感興趣的是知道如何獲取機/ 名稱/ 到目前爲止,我不知道如何選擇一個特定的標籤。任何人都知道如何挑選機器標籤中的每個名稱。我有一個300MB的文件來過濾掉。
我的方法是獲取機器標籤中的每個名稱並將其存儲在一個字符串中,稍後使用該字符串創建結構。但我堅持請幫助...
我的源代碼至今:
//doc created
XmlDocument doc = new XmlDocument();
//loading file:
filePath = System.IO.Directory.GetCurrentDirectory();
filePath = System.IO.Path.Combine(filePath + "\\", "MyConfig.xml");
try
{
doc.Load(filePath);
}
catch (Exception ex)
{
MessageBox.Show("Config File Missing: " + ex.Message, "Config File Error",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Application.Exit();
}
//fetch data:
String[] MachineName = XMLData("PROJ/MachineIP/Machine", "Name");
String[] MachinePath = XMLData("PROJ/MachineIP/Machine", "Path");
//function XMLData():
string[] temp;
XmlNodeList nodeList = doc.SelectNodes(MainNode);
int i = 0;
temp = new string[nodeList.Count];
foreach (XmlNode node in nodeList)
{
temp.SetValue(node.SelectSingleNode(SubNode).InnerText, i);
i++;
}
return temp;
感謝, HRG
你試過了什麼? –
到目前爲止,我正在使用XMLDocument,但我發現很難獲取每個標記,有很多... – gaganHR