クラステスト
{
プライベート静的文字列ルート。
public static void showXML(文字列パス)
{
XmlDocument xd = 新しい XmlDocument();
xd.Load(パス);
XmlNodeList xnl = xd.DocumentElement.ChildNodes;
root = xd.FirstChild.NextSibling.Name;//记录根节点
Console.Write(root+"n");
foreach (xnl 内の XmlNode xn)
{
//Console.Write(xn.Attributes["name"].Value.ToString()+"n");
XmlNode 子 = xn.FirstChild;
NodeOperate(子);
}
public
static void NodeOperate(XmlNode xn1)
{
if (xn1.HasChildNodes == true)
{
Console.Write(xn1.Name + "n");
Console.Write("n");
XmlNode childNode = xn1.FirstChild;
NodeOperate(childNode);
}
それ以外
{
Console.Write(xn1.Name + "n");
Console.Write(xn1.InnerText);
Console.Write("n");
if (xn1.NextSibling != null)
{
NodeOperate(xn1.NextSibling);
}
それ以外
{
int フラグ = 0;
while (xn1.NextSibling == null)
{
if (xn1.Name == root)//ルートポイントに到達したかどうか、結果がない場合はルートポイントの参照
{
フラグ = 1;
壊す;
}
それ以外
{
xn1 = xn1.ParentNode;
}
}
if (フラグ == 0)
{
NodeOperate(xn1.NextSibling);
}
else if(フラグ==1)
{
Console.Write("終了");
}
}
}
}
}
パブリック静的 void Main()
{
test.showXML(@"C:Documents and SettingsSKYMy DocumentsVisual Studio 2005ProjectsProject1Project1system.xml");
Console.Read();
}