我正在尝试创建一个使用 LINQ 和 Genertics 保存/读取多个 XML 文件的类。
我正在寻找保存多种类型的 XMl 文件的通用方法(即其中的数据)
每个 XML 文件都将具有以下格式
<ROOT>
<!-- First Element/First Row -->
<NODE>
<COL1>Some value</COL1>
.....
<COLn>Some value</COLn>
</NODE>
.........
<!-- Nth Element = nth row -->
<NODE>
<COL1>Some value</COL1>
.....
<COLn>Some value</COLn>
</NODE>
</ROOT>
每个文件都有不同的 ROOT、NODE 和 COLx。列数和其中的数据取决于 Multi-Dim 数组输入。这个输入数组还给出了 xml 中节点标签的数量(数组中的元素)。
保存 XML 文件的方法如下所示
public void SaveFirstXmlFile()
{
XElement xdoc = new XElement("ThisDocsRoot");
//Iterate for number of rows(elements of data)
for (int nodes= 1; nodes<= NUMBER_OF_NODES; nodes++)
{
xdoc.Add(new XElement(row,
new XElement("Col 1", "Some Value"),
new XElement("Col 2", "Some Value"),
new XElement("Col 3", "Some Value")
));
}
xdoc.Save("/Path/To/XML/File");
}
我想调整这个方法,使它适用于多个 XML 文件。我不知道它是否是正确的方法,但我创建了定义 XML 文件的根、节点、列和路径的类。和数据来自其他一些类创建的多维数组。
private class AClassforSomeXMLFile
{
private readonly String _root;
private readonly String _row;
private readonly String[] _columns;
private readonly String _exportPath;
public UsageData()
{
_exportPath = string.Format(@"{0}\xyz.xml",Path.GetDirectoryName(Application.ExecutablePath));
_root = "ROOT";
_row = "NODE";
_columns = new string[]
{
"COL1","COL2", "COL3","COL4",
};
}
public string ROOT { get { return _root; } }
public string ROW { get { return _row; } }
public string[] COLS { get { return _columns; }}
public string EPATH { get { return _exportPath; }}
}