.net中XML编程总结
一 載入XML文件到樹視圖
代碼;
string filepath = Environment.CurrentDirectory + "\\K\\SqlServerZt\\" + "FAMILY2.xml";
? ? ? ? ? ??
? ? ? ? ? ? try
? ? ? ? ? ? {
? ? ? ? ? ? ? ? // SECTION 1. Create a DOM Document and load the XML data into it.
? ? ? ? ? ? ? ? XmlDocument dom = new XmlDocument();
? ? ? ? ? ? ? ? dom.Load(filepath);
? ? ? ? ? ? ? ? // SECTION 2. Initialize the TreeView control.
? ? ? ? ? ? ? ? treeView1.Nodes.Clear();
? ? ? ? ? ? ? ? treeView1.Nodes.Add(new TreeNode(dom.DocumentElement.Name));
? ? ? ? ? ? ? ? TreeNode tNode = new TreeNode();
? ? ? ? ? ? ? ? tNode = treeView1.Nodes[0];
? ? ? ? ? ? ? ? SECTION 3. Populate the TreeView with the DOM nodes.
? ? ? ? ? ? ? ? AddNode(dom.DocumentElement, tNode);
? ? ? ? ? ? ? ? treeView1.ExpandAll();
? ? ? ? ? ? }
? ? ? ? ? ? catch (XmlException xmlEx)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? MessageBox.Show(xmlEx.Message);
? ? ? ? ? ? }
? ? ? ? ? ? catch (Exception ex)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? MessageBox.Show(ex.Message);
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? private void AddNode(XmlNode inXmlNode, TreeNode inTreeNode)
? ? ? ? {
? ? ? ? ? ? XmlNode xNode;
? ? ? ? ? ? TreeNode tNode;
? ? ? ? ? ? XmlNodeList nodeList;
? ? ? ? ? ? int i;
? ? ? ? ? ? // Loop through the XML nodes until the leaf is reached.
? ? ? ? ? ? // Add the nodes to the TreeView during the looping process.
? ? ? ? ? ? if (inXmlNode.HasChildNodes)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? nodeList = inXmlNode.ChildNodes;
? ? ? ? ? ? ? ? for (i = 0; i <= nodeList.Count - 1; i++)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? xNode = inXmlNode.ChildNodes[i];
? ? ? ? ? ? ? ? ? ? inTreeNode.Nodes.Add(new TreeNode(xNode.Name));
? ? ? ? ? ? ? ? ? ? tNode = inTreeNode.Nodes[i];
? ? ? ? ? ? ? ? ? ? AddNode(xNode, tNode);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? // Here you need to pull the data from the XmlNode based on the
? ? ? ? ? ? ? ? // type of node, whether attribute values are required, and so forth.
? ? ? ? ? ? ? ? inTreeNode.Text = (inXmlNode.OuterXml).Trim();
? ? ? ? ? ? }
? ? ? ? }
XML文件中都是英文載入正常;
含有中文會出現如下錯誤提示:
正確載入一個含有中文的XML文檔到樹視圖:
該文檔如下:
<?xml version="1.0" encoding="gb2312" ?>
<!DOCTYPE 家庭[
<!ELEMENT 家庭 (人+)>
<!ELEMENT 人 EMPTY>
<!ATTLIST 人
? ? relID ID #REQUIRED
? ? parentID IDREFS #IMPLIED
? ? name CDATA #REQUIRED
>
]>
<家庭>
? ? <人 relID="P_1" name="爸爸"/>
? ? <人 relID="P_2" name="媽媽"/>
? ? <人 relID="P_3" parentID="P_1 P_2" name="兒子"/>
</家庭>
不過有時用記事本打開該文件,編輯其節點為別的中文內容,保存后再載入又會出錯;應該說加了?encoding="gb2312" ?可以識別中文;所以此問題尚未完全解決;
總結
以上是生活随笔為你收集整理的.net中XML编程总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图文详解asp.net自带控件
- 下一篇: Java加密解密入门