1

XMLReader 形式を使用しました。


XmlReader xmlReader = XmlReader.Create("batch.xml");
while (xmlReader.Read())
{
    //Keep reading
    if (xmlReader.Name.Equals("Keyword") && (xmlReader.NodeType == XmlNodeType.Element))
    {
        // get attribute from the Xml element here
        string keywords = xmlReader.GetAttribute("name"); 
    }
}

「キーワード」を String[] としてキャストするにはどうすればよいですか?

4

2 に答える 2

1

場合によります。

XMLnameに複数のキーワードを含む単一の属性がある場合はString.Split、次のように を呼び出します。

string[] keywords = xmlReader.GetAttribute("name").Split(' ');

name複数の属性またはKeyword要素がある場合は、次のように を作成List<string>してループで埋めます。

List<string> keywords = new List<string>();
XmlReader xmlReader = XmlReader.Create("batch.xml");
while (xmlReader.Read()) {
    //Keep reading
    if (xmlReader.Name.Equals("Keyword") && (xmlReader.NodeType == XmlNodeType.Element))
        keywords.Add(xmlReader.GetAttribute("name")); 
}

本当に が必要な場合はstring[]、 を呼び出すことができますkeywords.ToArray()

于 2009-11-04T01:09:48.377 に答える
0

を使用しているためXmlReader、一度にすべてのノードを持つことはできません。List<string>コレクションを作成し、入力して返す必要があります。

于 2009-11-04T01:10:08.133 に答える