我想从看起来像这样的字符串中创建一个xml文件:
"Node_1/Node_2/Node_3|Node_1/Node_4|Node_1/Node_2/Node_5"
输出应为:
<Node_1>
<Node_2>
<Node_3>
</Node_3>
<Node_5>
</Node_5>
</Node_2>
<Node_4>
</Node_4>
</Node_1>
字符串应类似于文件路径,而xml中的节点应类似于文件夹。第一个“文件夹”始终相同(Node_1),以使其保持有效的xml。
编辑:我正在尝试组合包含一些数据和“路径”的xml文件。 应该将数据写入一个大xml文件中。
首先,我想从这些“路径”创建新的xml,然后将数据写入创建的节点。 因此,我没有任何结构可用于仅通过将xml文件中的“路径”组合并用“ |”分隔而创建的字符串这样我就可以将字符串分成每个“路径”。
答案 0 :(得分:1)
由于您输入的不是标准格式(至少我不知道),因此您必须编写自己的解析器。
我建议您首先从字符串创建对象(树):
class Node
{
List<Node> Children {get;set;}
}
然后,您可以使用XmlSerializer
创建XML。
XmlSerializer serializer = XmlSerializer(typeof(Node));
using(TextWriter writer = new StreamWriter(filename))
{
serializer.Serialize(writer, node1);
}