Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk mengelakkan paparan atribut pendua apabila parsing XML menjadi C# Treeview?
Cara menghuraikan fail XML yang mengandungi atribut ke dalam kawalan TreeView dalam C#
Soalan:
Apabila menggunakan gelung foreach untuk menghuraikan fail XML yang mengandungi atribut, atribut dipaparkan beberapa kali. Bagaimanakah saya boleh mengubah suai kod untuk menunjukkan harta sekali sahaja?
Penyelesaian:
Untuk memaparkan sifat sekali sahaja dalam kawalan TreeView:
<code class="language-csharp">private void AddNode(XmlNode inXmlNode, TreeNode inTreeNode) { if (inXmlNode.HasChildNodes) { // 检查 XmlNode 是否具有属性 string attributes = ""; foreach (XmlAttribute att in inXmlNode.Attributes) { attributes += " " + att.Name + ": " + att.Value; } if (!string.IsNullOrEmpty(attributes)) { inTreeNode.Text += attributes; } foreach (XmlNode node in inXmlNode.ChildNodes) { TreeNode newNode = inTreeNode.Nodes.Add(node.Name); AddNode(node, newNode); } } }</code>
Arahan:
Kod yang dikemas kini mengalihkan gelung atribut ke luar gelung nod anak. Ini memastikan bahawa atribut hanya dipaparkan sekali, walaupun terdapat berbilang nod anak di bawah nod induk. Kod yang dipertingkatkan menggunakan pembolehubah rentetan attributes
untuk mengumpul semua atribut, dan kemudian menambahkannya pada inTreeNode.Text
sekali gus, mengelakkan penambahan berulang.
Atas ialah kandungan terperinci Bagaimana untuk mengelakkan paparan atribut pendua apabila parsing XML menjadi C# Treeview?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!