答えを探していて、何も見つかりません-私はまったく新しいので、正しいキーワードを打っていないのではないでしょうか?
これは私が使用しているXMLのサンプルです
<database>
<book>
<title>A</title>
<author>
<name>1</name>
</author>
</book>
<book>
<title>B</title>
<author>
<name>2</name>
</author>
<author>
<name>3</name>
</author>
<author>
<name>4</name>
</author>
<author>
<name>5</name>
</author>
</book>
</database>
C#XMLDocumentを使用して、本Aの著者1を取得し、次に本Bの著者1、2、3、4、5を取得しようとしています。
これまでのところ、私が使用しているコードはすべての著者を循環しているので、本Aの著者1、2、3、4、5を取得しています。
私がこれまでに持っているコードは大まかに次のとおりです
XmlDocument doc = new XmlDocument();
doc.Load("myxmlfile");
XmlNode root = doc.SelectSingleNode("database");
XmlNodeList nodelist = root.SelectNodes("book");
foreach (XmlNode n in nodelist)
{
XmlNodeList authors = root.SelectNodes(".//author");
book.authorstring = "";
foreach (XmlNode author in authors)
{
book.authorstring = book.authorstring+author.SelectSingleNode("name").InnerText + ", ";
}
}
「//」の前に「。」を使用すると、現在のノードに「アンカー」されるが、機能していないようで、すべてのノードを循環しているところをいくつか読んだ。
私は何を間違っているか、行方不明にしていますか?