3

Xml タグ名とその値を保持するために、配列に 2 つの要素を持つ構造体を保持させようとしています。

配列を次のように機能させたいと思います。

MyArrayStruct[Count].TagName = "Bla Bla";  
MyArrayStruct[Count].TagValue = "Bla Bla Bla";

これを機能させるために私を助けてください。


public struct TagContents
{
     String TagName;
     String TagValue;        
};

配列を Struct として宣言して、私が望むように機能させることに問題があります。コメントアウトコードのように機能することです。

public void LoadXML()
{
    if (File.Exists("Data.xml"))
    {
        //Readin XML
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load("Data.xml");
        XmlNodeList dataNodes = xmlDoc.SelectNodes("//FieldData");
        //Count the nodes
        int Max = 0;
        foreach (XmlNode node in dataNodes)
        {
            Max = Max + 1;
        }

        int Count = 0;
        //TagContents MyXmlPointer = new TagContents();
        // MyXmlPointer[] ArrayNode;
        //  ArrayNode = new MyXmlPointer[Max];

        foreach (XmlNode node in dataNodes)
        {
            // ArrayNode[Count].TagName =node.SelectSingleNode("Have not found what to put here yet but will get there").Name;
            // ArrayNode[Count].TagValue =node.SelectSingleNode("Have not found what to put here yet but will get there").InnerText;                      
        }
    }
    else
    {
        MessageBox.Show("Could not find file Data.xml");
    }
}
4

1 に答える 1

4

フィールドを作成するpublic

public class TagContent
{
    public String TagName;
    public String TagValue;
};

そしてそれを使用する、私はジェネリックを使用することをお勧めします(のようにList<>):

var tags = new List<TagContent>();

tags.Add(new TagContent{TagName = "aaa", TagValue = "vvv"});

// use it:
// get value of 'TagName' of item 5:
var tagname5 = tags[5].TagName;
于 2012-08-01T10:52:23.283 に答える