English 中文(简体)
撰稿人
原标题:Write a XDocument out with annotations

我有一个<代码>XDocument,其中我增加了一些说明()。 AddAnnotation。 我现在要用这些说明来撰写该文件。 页: 1 ToString and . 写作将取消说明,以免其发挥作用。 基本上,我需要一位惯例XML撰写人,但抽象的类别XmlWriter对内容和属性的说明没有任何概念。 具体的问题是,我不得不在具体通知和属性相同内容之前写一些字句。

如果我不必写每个单项标书(XMLWriter),但只处理我需要的两个案例(在说明内容和说明之前)。

我的一个部分解决办法是,要么把这一具体内容归纳在另一个要素中,而是将XML推向上,不处理属性。 另一种解决办法是将说明改为<代码>。 XComment 则在要素和属性之前。 但随后我不得不取代这些评论。 我可以采用最后的解决办法,但可以提出评论意见,这些评论可能采用相同的格式。

例:

var annoAtt = new XAttribute("Name", "Foo");
annoAtt.AddAnnotation(new Foo());

var doc = new XDocument(
            new XElement("Root",
                new XElement("Some",
                    annoAtt))));

因此,我想到的是产出(不是有效的XML,但我不需要:

<Root>
   <Some {Something}Name="Foo"/>
</Root>

我可以这样作:

<Root>
   <Some my:Something="Name ..." Name="Foo"/>
</Root>

但这确实不是我想要的。

如果我能够找到要素和特性的起点,那将是完美的。 我试图以下列方式执行:

http://blogs.msdn.com/b/mikechampion/archive/2006/09/10/748408.aspx

最佳回答

问题解决:-

XDocument.Load(reader, LoadOptions). SetLineInfo 我可以按以下顺序排列编号和立场:

var info = (IXmlLineInfo)element;

而我所需要的困难可以用这些信息来提供。

问题回答

鉴于这一说明是任意的,因此,毫不奇怪的是,它们没有书写。 他们没有真正成为XML文件模式的一部分——他们只是将LINQ增补到XML。 在说明中需要坚持什么? 如果它提供简单的数据,那么你可能希望产生一种归属感(也许以你自己的名称为空间,从而容易避免冲突)。 诚然,如果你想在案文节点上添加说明,那会是trick的,但你可以很容易地将这些内容与属性混为一谈。 (只有两种不同的属性,其中一种具体规定了作为数据一部分的特性。)

从根本上说,如果你想要在XML代表制内保持数据,就必须成为普通XML文件模式的一部分。





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签