读书人

xmltextwrite的功能解决办法

发布时间: 2012-03-16 16:34:56 作者: rapoo

xmltextwrite的功能
xmltextwrite好像不能写出以下格式,谁知道这段xml码是怎么写出来的
<?xml version= "1.0 " encoding= "utf-8 " ?>
<members>
<member name= "N:EnvDTE80 ">
<summary>
EnvDTE80 contains the ...
<see cref= "N:EnvDTE "/>
here something
</summary>
</member>

<member name= "T:EnvDTE80._CodeModelEvents ">

<summary>
Refer to
<see cref= "T:EnvDTE80.CodeModelEvents "/>
for this functionality. Do not instantiate from this class.
</summary>
</member>
</members>

[解决办法]
msdn说:

下面的示例使用 XmlTextWriter 创建 XML 输出。
[Visual Basic]
Shared Sub WriteQuote(writer As XmlWriter, symbol As String, price As Double, change As Double, volume As Long)
writer.WriteStartElement( "Stock ")
writer.WriteAttributeString( "Symbol ", symbol)
writer.WriteElementString( "Price ", XmlConvert.ToString(price))
writer.WriteElementString( "Change ", XmlConvert.ToString(change))
writer.WriteElementString( "Volume ", XmlConvert.ToString(volume))
writer.WriteEndElement()
End Sub 'WriteQuote

Public Shared Sub Main()
Dim writer As New XmlTextWriter(Console.Out)
writer.Formatting = Formatting.Indented
WriteQuote(writer, "MSFT ", 74.125, 5.89, 69020000)
writer.Close()
End Sub 'Main

输出
<Stock Symbol= "MSFT ">
<Price> 74.125 </Price>
<Change> 5.89 </Change>
<Volume> 69020000 </Volume>
</Stock>

[解决办法]
有特殊意义
同样:msdn
<see> 请参见
建议的文档注释标记
<see cref= "member "/>
其中:

cref = "member "
对可以通过当前编译环境进行调用的成员或字段的引用。编译器检查到给定代码元素存在后,将 member 传递给输出 XML 中的元素名。必须将 member 括在双引号 ( " ") 中。
备注
<see> 标记使您得以从文本内指定链接。使用 <seealso> 指示希望在“请参见”一节中出现的文本。

使用 /doc 进行编译可以将文档注释处理到文件中。

示例
有关使用 <see> 的示例,请参见 <summary> 。

[解决办法]
我的意思是,如果分析一个xml文档的话, <see cref= "N:EnvDTE "/> 是否有特殊意义?应被分开来看还是与上下两行当作 <summary> 的值整体来看待
----------------------------------------

有特殊意义, 楼主只需要测试一下如下两个 xpath 的值就知道了:
(/members/member[2]/summary)[1]
(/members/member[2]/summary/see/@cref)[1]


另外, 对于
(/members/member[2]/summary)[1]
它里面实际上有两个 text, 即如下两个 xpath 分别会取得 <see ../> 前和其后的内容 :
(/members/member[2]/summary/text()[1])[1]
(/members/member[2]/summary/text()[2])[1]

读书人网 >VB Dotnet

热点推荐