gpt4 book ai didi

c# - XMLWriter:WriteStartElement 带有标签名和字符串来表示标签名

转载 作者:行者123 更新时间:2023-11-30 13:32:07 24 4
gpt4 key购买 nike

我有相同的标签名称和不同的字符串来区分标签名称。

这是 XML。

<order>
<ID>1001</ID>
<config>
<properties>
<entry key="Total">10</entry>
<entry key="Name">name</entry>
<entry key="Config">COMMON</entry>
<entry key="Delivery">15-FEBRUARY-2013</entry>
<entry key="Setting">name</entry>
</properties>
<id>19</id>
</config>
<aID>58239346</aID>
</order>

这是我当前的代码:

public String cards(string id)
{
StringWriter str = new StringWriter();
XmlTextWriter xmlWriter = new XmlTextWriter(str);
xmlWriter.Formatting = Formatting.Indented;
xmlWriter.WriteStartDocument();
xmlWriter.WriteStartElement("order");
xmlWriter.WriteElementString("ID", "1001");
xmlWriter.WriteStartElement("config");
xmlWriter.WriteStartElement("properties");
/*
* Create <entry key> at here
*
*
*
*
*/
xmlWriter.WriteEndElement();
xmlWriter.WriteEndElement();
xmlWriter.WriteElementString("ClientID", id);
xmlWriter.WriteEndElement();
xmlWriter.WriteEndDocument();
xmlWriter.Flush();
xmlWriter.Close();
return str.ToString();
}

XMLWriter的入口标签怎么写???我不知道怎么写。

最佳答案

问题似乎是关于 <entry> 的标签;这基本上是一系列 5 个 block ,类似于:

xw.WriteStartElement("entry");
xw.WriteAttributeString("key", "RecordTotal");
xw.WriteString("10");
xw.WriteEndElement();

但是,您可能还想查看 XmlSerializer - 可能会使这很多更容易:

using System;
using System.Collections.Generic;
using System.Xml.Serialization;

static class Program {
static void Main() {
var order = new Order {
ClientId = 1001,
Id = 58239346,
Config = new OrderConfig {
Id = 19,
Properties = {
new OrderProperty { Key = "RecordTotal", Value = "10"},
new OrderProperty { Key = "InputFileName", Value = "name"},
new OrderProperty { Key = "ConfigName", Value = "COMMON_"},
new OrderProperty { Key = "DeliveryDate", Value = "15-FEBRUARY-2013"},
new OrderProperty { Key = "Qualifier", Value = "name"}
}
}
};
var ser = new XmlSerializer(typeof(Order));
ser.Serialize(Console.Out, order);
}
}
[XmlRoot("order")]
public class Order {
[XmlElement("clientID", Order = 0)]
public int ClientId { get; set; }
[XmlElement("config", Order = 1)]
public OrderConfig Config { get; set; }
[XmlElement("orderID", Order = 2)]
public int Id { get; set; }
}

public class OrderConfig {
[XmlElement("id", Order = 2)]
public int Id { get; set; }
private readonly List<OrderProperty> properties = new List<OrderProperty>();
[XmlArray("properties", Order = 1), XmlArrayItem("entry")]
public List<OrderProperty> Properties { get { return properties; } }
}

public class OrderProperty {
[XmlAttribute("key")]
public string Key {get;set;}
[XmlText]
public string Value {get;set;}
}

关于c# - XMLWriter:WriteStartElement 带有标签名和字符串来表示标签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16435735/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com