gpt4 book ai didi

c# - 使用 C# 的 Atom 条目

转载 作者:太空狗 更新时间:2023-10-29 23:34:49 25 4
gpt4 key购买 nike

如何使用 C# 和 .NET 4 创建 Atom 条目?

我需要用这个结构创建一个条目:

<entry xmlns="http://www.w3.org/2005/Atom" xmlns:f="XXX:aaa">
<title>title1</title>
<summary>summary1</summary>
</entry>

我尝试使用 SyndicationItem 类来执行此操作,但条目包含的信息比我需要的多:

SyndicationItem atom = new SyndicationItem();
atom.Title = new TextSyndicationContent("test1", TextSyndicationContentKind.Plaintext);

atom.Summary = new TextSyndicationContent("summary1");
atom.AttributeExtensions.Add(new XmlQualifiedName("f", "http://www.w3.org/2000/xmlns/"), "XXX:aaa");


XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = " ";
settings.NewLineOnAttributes = true;
StringBuilder sb = new StringBuilder();
XmlWriter xml = XmlWriter.Create(sb,settings);
atom.SaveAsAtom10(xml);
xml.Close();
Console.WriteLine(sb.ToString());

结果是:

<entry xmlns:f="XXX:aaa" xmlns="http://www.w3.org/2005/Atom">
<id>uuid:34381971-9feb-4444-9e6a-3fbc412ac6d2;id=1</id>
<title type="text">title1</title>
<summary type="text">summary1</summary>
<updated>2010-10-29T14:02:48Z</updated>
</entry>

如何在没有 , 和 type="*"的情况下创建原子条目对象,使其看起来完全符合我的要求?

你能帮我简化一下代码吗?

谢谢!

最佳答案

根据 XML 架构:

Be sure that if you specify a value for only the minOccurs attribute, it is less than or equal to the default value of maxOccurs, i.e. it is 0 or 1. Similarly, if you specify a value for only the maxOccurs attribute, it must be greater than or equal to the default value of minOccurs, i.e. 1 or more. If both attributes are omitted, the element must appear exactly once.

                    <xs:element name="id" type="atom:idType" minOccurs="1" maxOccurs="1" />
<xs:element name="updated" type="atom:dateTimeType" minOccurs="1" maxOccurs="1" />

idatom:textType。下面是 textType 的架构片段:

<xs:complexType name="textType" mixed="true">
<xs:annotation>
<xs:documentation>
The Atom text construct is defined in section 3.1 of the format spec.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:any namespace="http://www.w3.org/1999/xhtml" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="type" >
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="text"/>
<xs:enumeration value="html"/>
<xs:enumeration value="xhtml"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="atom:commonAttributes"/>
</xs:complexType>

如您所见,id 和 updated 元素是必需的,省略它们是非法的

另一方面,type 是可选的,因为 Use 的默认值是可选的。但我不知道隐藏它的方法。

关于c# - 使用 C# 的 Atom 条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4052610/

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