从string.split创建xml结构

时间:2018-08-06 07:46:19

标签: c# xml

我想从看起来像这样的字符串中创建一个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文件中的“路径”组合并用“ |”分隔而创建的字符串这样我就可以将字符串分成每个“路径”。

1 个答案:

答案 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);
}

https://msdn.microsoft.com/de-de/library/system.xml.serialization.xmlserializer%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396