0
: - 私が間違っている可能性のあるアドバイスすべてのノードを反復処理する方法は?私は次のような出力を生成しようとしています
<article> <status> </status> ....</article>
<article> <status> </status> ....</article>
私は、ループロジックと少しの援助を必要としています。私は "for"ループを使ってみましたが、目的の出力を生成できませんでした。お知らせ下さい。ありがとうございました。
public static string createArticleALL()
{
XElement xeRoot = new XElement("article");
XDocument xDoc = new XDocument(xeRoot);
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["###"].ConnectionString))
{
con.Open();
using (SqlCommand command = new SqlCommand("####", con))
{
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
string title = reader.GetString(0);
string body = reader.GetString(4);
string pub = reader["publication_id"].ToString();
string iss = reader["issue_id"].ToString();
string sid = reader["STORYID"].ToString();
string c = url(title, pub, iss, sid);
DateTime dt = DateTime.Today;
foreach (XElement element in xDoc.Descendants("article"))
{
XElement xeStatus = new XElement("status", "Approved");
xeRoot.Add(xeStatus);
XElement xeTitle = new XElement("title", title);
xeRoot.Add(xeTitle);
XElement xeSubTitle = new XElement("subtitle", title);
xeRoot.Add(xeSubTitle);
XElement xeSynopsis = new XElement("synopsis", body + "...");
xeRoot.Add(xeSynopsis);
XElement xeURL = new XElement("url", c);
xeRoot.Add(xeURL);
XElement xeDisplayDate = new XElement("display_date", dt);
xeRoot.Add(xeDisplayDate);
}
}
}
return xDoc.ToString();
}
return null;
}
1)あなたのコードは現在どのような出力を生成していますか? 2)必要な出力が有効なXMLではありません。有効なXMLには、[ルート要素](https://en.wikipedia.org/wiki/Root_element)が1つ必要です。無効なXMLを生成するために 'XDocument'を使うことはできません。 – dbc