【发布时间】:2021-10-21 21:17:25
【问题描述】:
我必须从 csv 文件创建一个 xml 文件。其实我用这个代码:
XElement header = new XElement("header",
from str in source
let fields = str.Split('|')
select new XElement("Header",
//new XAttribute("CustomerID", fields[0]),
new XElement("FileId", fields[1]),//da calcolare
new XElement("SenderId", fields[2]),
new XElement("ProcessingDate", DateTime.Now.ToString("yyyyMMdd")),
new XElement("ProcessingTime", DateTime.Now.ToString("HHmm"))
)
);
这会创建 2 个标签:"header xmlns=""" 和 Header;我怎样才能只创建一个标签“标题”?
输出:
<header xmlns="">
<Header>
<FileId>00476170246</FileId>
<SenderId>TEST</SenderId>
<ProcessingDate>20210819</ProcessingDate>
<ProcessingTime>1825</ProcessingTime>
</Header>
</header>
【问题讨论】:
-
尽量把XML放在“```”之间表示代码。
-
好吧,你在那里创建两个标题,一个带有
new,然后一些(或1个)带有select new -
这应该更清楚 - linq 适用于集合。 dotnetfiddle.net/f8D8vJ 当你想要一个元素时,你必须在完成后以某种方式裁剪集合
-
"`
``"00476170246 TEST 20210819 1825处理时间> -
格式良好的 XML 文件只有一个根标记。删除第一个 Header 标签将使 xml 在根目录下有多个标签(数组)。 XML 规范允许在根目录下使用数组,但大多数人更喜欢使 xml 格式正确。