私は作業しているXMLからCSVファイルを作成しようとしています。次のようにXMLが構成されていますXDocumentとLINQでXMLを読む子孫の混乱
<dt_type>
<t_name>Commodities</t_name>
<dt_category>
<pc_name>ironore_steel</pc_name>
<dt_products>
<p_name>iron</p_name>
</dt_products>
<dt_products>
<p_name>coiled steel</p_name>
</dt_products>
</dt_category>
<dt_category>
<pc_name>rubber</pc_name>
<dt_products>
<p_name>molten rubber</p_name>
</dt_products>
<dt_products>
<p_name>pressed rubber</p_name>
</dt_products>
</dt_category>
</dt_type>
私は(t_name、pc_name、P_NAME)のようなCSVファイルを構築したい
を私が持っている現在のコードは、この
XDocument xdoc = XDocument.Load(output + "xmlSgx.txt");
//query xml
var xdata = from r in xdoc.Descendants("dt_category")
select new
{
//tName = r.Element("t_name").Value,
pcName = (string)r.Element("pc_name"),
pName = (string)r.Element("dt_products").Element("p_name")
};
foreach (var r in xdata)
{
result.AppendLine(r.pcName + "," + r.pName);
}
using (StreamWriter file = new StreamWriter(output + "xmlRes.txt"))
{
file.Write(result);
}
最高出力であります私はこれを生産することができました:
ironore_steel,iron
rubber,molten rubber
私は私が降りているときに複数を引っ張ることさえできませんROM
私が引っ張って欲しいものの例:
Commodities,ironore_steel,iron
Commodities,ironore_steel,coiled steel
Commodities,rubber,molten rubber
Commodities,rubber,pressed rubber
右方向への任意のナッジを大幅に理解されるであろう!
p_nameごとにt_nameとpc_nameを繰り返しますか?指定されたxmlのサンプルcsv出力を投稿する – Riv
オリジナルの投稿を編集して、私が構築しようとしているものの例を含めました! – mPatrick