0
嗨,我有一個XML,我希望它顯示在我的樹視圖在C#我如何獲得treeview`的xml參數值?
它的工作,但樹視圖不顯示我想看到的東西。
我試着解釋我的問題:
這裏是XML:
<?xml version="1.0" encoding="UTF-8"?>
<LM-X STAT_VERSION="3.32">
<LICENSE_PATH TYPE="NETWORK" HOST="[email protected]" SERVER_VERSION="4.4.4" UPTIME="53 day(s) 21 hour(s) 10 min(s) 50 sec(s)">
FEATURE NAME="GlobalZoneEU" VERSION="12.0" VENDOR="ALTAIR" START="2013-03-26" END="2014-03-31" USED_LICENSES="111720" TOTAL_LICENSES="147000" SHARE="CUSTOM ,VIRTUAL">
<USER NAME="SYSTEM" HOST="LWSERV171" IP="172.16.11.115" USED_LICENSES="2000" LOGIN_TIME="2013-04-17 12:42" CHECKOUT_TIME="2013-04-17 12:42" SHARE_CUSTOM="hweuser:172.16.11.115"/>
...
</LICENSE_PATH>
</LM-X>
我想在我的樹狀結構如何:這是功能
GlobalZoneEU HWAIFPBS HWAWPF ...
這是我的C#代碼:
private void btnShowLicstate_Click(object sender, EventArgs e)
{
string command = "\"C:\\lmxendutil.exe\" -licstatxml -host lwserv005 -port 6200";
string output = ExecuteCommand(command);
string final_output = output.Substring(90, output.Length-90);
XDocument doc = XDocument.Parse(final_output);
BuildTree(treeLic, doc);
txtOutput.Text = final_output;
}
static string ExecuteCommand(string command)
{
int exitCode;
ProcessStartInfo processInfo;
Process process;
processInfo = new ProcessStartInfo("cmd.exe", "/c " + command);
processInfo.CreateNoWindow = true;
processInfo.UseShellExecute = false;
processInfo.RedirectStandardError = true;
processInfo.RedirectStandardOutput = true;
process = Process.Start(processInfo);
string output = process.StandardOutput.ReadToEnd();
exitCode = process.ExitCode;
process.Close();
return output;
}
private void BuildTree(TreeView treeView, XDocument doc)
{
TreeNode treeNode = new TreeNode(doc.Root.Name.LocalName);
treeView.Nodes.Add(treeNode);
BuildNodes(treeNode, doc.Root);
}
private void BuildNodes(TreeNode treeNode, XElement element)
{
foreach (XNode child in element.Nodes())
{
switch (child.NodeType)
{
case XmlNodeType.Element:
XElement childElement = child as XElement;
TreeNode childTreeNode = new TreeNode(childElement.Name.LocalName);
treeNode.Nodes.Add(childTreeNode);
BuildNodes(childTreeNode, childElement);
break;
case XmlNodeType.Text:
XText childText = child as XText;
treeNode.Nodes.Add(new TreeNode(childText.Value));
break;
}
}
}
我怎樣才能獲得節點的名稱,例如--->
<FEATURE NAME="GlobalZoneEU" VERSION="12.0" VENDOR="ALTAIR" ...>
我想唯一的名字......