作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要复制一个 xml header :
<XDataFeed
xmlns="http://foo.com/namespace"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" .
xsi:schemaLocation="http://foo.com/namespace C:\fooXSD.XML">
'Export the object to XML
Dim writer As New XmlSerializer(DataFeed.GetType)
Dim ns As New XmlSerializerNamespaces()
ns.Add("xmlns", "http://foo.com/namespace")
ns.Add("xsi", "http://www.w3.org/2001/XMLSchema-instance")
Dim file As New System.IO.StreamWriter("C:\foo.xml")
writer.Serialize(file, DataFeed, ns)
file.Close()
最佳答案
只好自己做。
不要将您的命名空间添加到 XmlSerializerNamespaces
.相反,只需将它放在您的父对象上。这应该使它没有前缀,只是 xmlns="http://..."
.
<XmlRoot(Namespace:="http://foo.com/namespace")>
Public Class XDataFeed
'...
End Class
d1p1
, 使用
string.Empty
为您的前缀并继续将您的命名空间添加到
XmlSerializerNamespaces
.
<XmlAttribute("schemaLocation", NameSpace:=XmlSchema.InstanceNamespace)>
Public Property SchemaLocation As String
Get
Return "http://foo.com/namespace C:\fooXSD.XML"
End Get
Set(value As String)
'Ignore... pureley needed for serialization.
End Set
End Property
xsi
命名空间,因此如果您继续这样做,它应该可以正常工作。拿出你的
xmlns
命名空间。
<XmlRoot(Namespace:="http://foo.com/namespace")>
Public Class XDataFeed
<XmlAttribute("schemaLocation", NameSpace:=XmlSchema.InstanceNamespace)>
Public Property SchemaLocation As String
Get
Return "http://foo.com/namespace C:\fooXSD.XML"
End Get
Set(value As String)
'Ignore... pureley needed for serialization.
End Set
End Property
End Class
关于xml - 我如何构建命名空间 xmlns、xmlns :xsi, 和架构 xsi :schemalocaton in my XML via VB.net?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29397117/
我需要复制一个 xml header : 用我的代码: 'Export the object to XML Dim writer As New XmlSerializ
我是一名优秀的程序员,十分优秀!