Heim >Backend-Entwicklung >C++ >Wie vermeiden Sie eine doppelte Attributanzeige, wenn XML in eine C# Treeview analysiert wird?
<:> Frage:
Wenn der Foreach -Zyklus verwendet wird, um die XML -Datei mit Attributen zu analysieren, werden die Attribute mehrmals angezeigt. Wie ändere ich den Code, um nur ein Attribut anzuzeigen?
Lösung:
Zeigen Sie nur ein Attribut in der TreeView -Steuerung an:
Erläuterung:
<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>Der aktualisierte Code verschiebt die Attributschleife außerhalb des Sub -Node -Zyklus. Dies kann sicherstellen, dass die Attribute nur einmal einmal angezeigt werden, wenn sich mehrere Sub -Nodes unter dem übergeordneten Knoten befinden. Der verbesserte Code verwendet die String -Variable
, um alle Attribute zu sammeln, und dann zu einer Zeit zu hinzuzufügen, um wiederholt hinzugefügt zu werden.
Das obige ist der detaillierte Inhalt vonWie vermeiden Sie eine doppelte Attributanzeige, wenn XML in eine C# Treeview analysiert wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!