【发布时间】:2015-10-19 12:35:04
【问题描述】:
我写了以下代码:
public static void AddUploadToXML(XDocument xdoc, int id, string fileHash, string fileName)
{
var singleUpload = new XElement("upload",
new XAttribute("backupid", id),
new XElement("file", fileHash),
new XAttribute("filename", fileName)
);
xdoc.Root.Add(singleUpload);
}
实际上我想得到这样的 XML:
<uploads>
<upload backupid="3" >
<file filename=""></file>
</upload>
</uploads>
但我以这样的方式结束:
<uploads>
<upload backupid="3" filename="">
<file></file>
</upload>
</uploads>
另一个问题是:
1.如何在应用程序的其他部分修改该文件名属性(它将是具有给定ID的上传元素下的第一个文件元素),
2.THEN,如何添加其他文件元素,以这样的方式完成:
<uploads>
<upload backupid="3" >
<file filename="Test.001">HASHCODE</file>
<file filename="Test.002">HASHCODE2</file>
<file filename="Test.003">HASHCODE3</file>
</upload>
<upload backupid="4" >
<file filename="Test2.001">HASHCODE</file>
(...)
</upload>
</uploads>
【问题讨论】:
-
为文件制作另一个 XElement。并将该元素添加到 singleUpload 元素中,
-
我更喜欢你使用 XML 可序列化标签。为上传、文件等创建类。这很容易管理,而且是自动的,
-
我同意@FaisalHafeez,不要做这样复杂(甚至简单)的xml。另一方面,问题的质量让我相信你在使用 xml 时遇到了困难,所以我的实际建议是在你回来攻击这个问题之前先用 xml 玩一玩。
-
感谢您的建议!你有什么例子吗?
-
@flindeberg:我需要 xml,因为随着时间的推移,这个文件“数据库”应该包含数千条记录。是的,我对 xml 有很多头晕目眩的问题,我找不到一个简单而整洁的教程:-(
标签: c# .net xml xml-parsing