0

C# の解析について多くの質問があることは知っていますが、答えが見つかりませんでした。そのため、XML を解析するための DLL を作成する必要がありますが、XML ファイルに含まれる要素がわからないため、いくつかの機能を備えています。ファイルのすべてのノードとその要素を解析する必要があります。どうすればいいですか?今、私は単純なファイルで作業しています

<reg>
    <email_login>paykforcycvert@reincarnate.com</email_login>
    <email_password>nDOUn3TybD</email_password>
</reg>

そして私のdllコードは今です

public XmlNodeList GetElementsName(string path)
{
    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load(path);
    XmlNodeList nodeList = xmlDoc.GetElementsByTagName("email_login");
    return nodeList;
}

「paykforcycvert@reincarnate.com」を返す必要があります。私のコンソールアプリ:

XMLWorker worker = new XMLWorker();
string path = "file:///D:/temp/test.xml";
XmlNodeList nodeList = worker.GetElementsName(path);
for (int i = 0; i < nodeList.Count; i++)
    Console.WriteLine(nodeList[i].InnerText);
Console.ReadLine();

しかし、それは「paykforcycvert@reincarnate.comnDOUn3TybD」を返します

どうすれば別の方法で解析できますか?

4

5 に答える 5

0

XPathクエリを使用することもできます。

XmlNodesList nodesList = xmlDoc.SelectNodes("//email_login"));
foreach(string oneNode in nodesList) 
{
    Console.Write(oneNode.InnerText);
}
于 2013-08-13T14:16:56.547 に答える
0

私はあなたが与えたのとまったく同じコードを実行しpaykforcycvert@reincarnate.com、出力として得たので、何かを修正した後、またはクリーンアップされなかった後にプロジェクトをビルドしていないと思います。

プロジェクトをきれいにして、もう一度実行してみてください

于 2013-08-13T14:07:11.557 に答える
0

XMLFile.xml で提供された XML データをコピーして出力をエミュレートした後、次のコードを実行しました。

class Program
{
    static void Main(string[] args)
    {
        XMLWorker worker = new XMLWorker();
        //
        string path = @"C:\Users\abc\Desktop\ConsoleApplication1\ConsoleApplication1\XMLFile.xml";
        XmlNodeList nodeList = worker.GetElementsName(path);
        for (int i = 0; i < nodeList.Count; i++)
        Console.WriteLine(nodeList[i].InnerText);
        Console.ReadLine();
    }       
}

public class XMLWorker
{
    public XmlNodeList GetElementsName(string path)
    {
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(path);
        XmlNodeList nodeList = xmlDoc.GetElementsByTagName("email_login");

        return nodeList;
    }
}

しかし、私にとってはうまく機能しています。

于 2013-08-13T14:13:56.353 に答える