【发布时间】:2015-11-04 11:20:13
【问题描述】:
我正在使用 .NET Framework 4.5.1 开发一个 ASP.NET MVC 应用程序,它返回从数据库数据生成的 XML。
我想得到这个:
<?xml version="1.0" encoding="utf-8"?>
<pmlcore:Sensor [ Ommitted for brevety ] ">
但我明白了:
<?xml version="1.0" encoding="utf-8"?>
<Sensor [ Ommitted for brevety ] xmlns="pmlcore">
阅读在 Stackoverflow 中找到的所有答案,我将代码更改为使用 XNamespace:
XNamespace ns = "http://www.w3.org/2001/XMLSchema-instance";
XDeclaration dec = new XDeclaration("1.0", "utf-8", null);
XNamespace pmlcore = "pmlcore";
XNamespace pmluid = "pmluid";
root = new XElement(pmlcore + "Sensor"
, new XAttribute(XNamespace.Xmlns + "pmluid",
"urn:autoid:specification:universal:Identifier:xml:schema:1")
, new XAttribute(XNamespace.Xmlns + "xsi", ns)
, new XAttribute(XNamespace.Xmlns + "pmlcore",
"urn:autoid:specification:interchange:PMLCore:xml:schema:1")
, new XAttribute(ns + "noNamespaceSchemaLocation",
"urn:autoid:specification:interchange:PMLCore:xml:schema:1 ./PML/SchemaFiles/Interchange/PMLCore.xsd")
我怎样才能获得<pmlcore:Sensor这个?
如果我使用此代码:
root = new XElement("pmlcore:Sensor"
我收到此错误:
':' 字符,十六进制值 0x3A,不能包含在 名字
【问题讨论】: