我是使用XML的新手。我一直在调试一个交给我的项目,但是已经碰壁了。
我的代码:
XmlWriter xmlWriter = XmlWriter.Create("ToPost.xml");
xmlWriter.WriteStartDocument();
xmlWriter.WriteStartElement("eclRequest xmlns='" + WebConfigurationManager.AppSettings.Get("urlAddress") + "'");
.....
但是WebConfigurationManager.AppSettings.Get(“urlAddress”)给了我以下例外:
'eclRequest xmlns ='''中的名称字符无效。 ''字符,十六进制值0x20,不能包含在名称中。
我想知道这个Get()语句究竟访问了什么,以及可能导致异常的原因是什么?
答案 0 :(得分:1)
这不是AppSettings.Get
的例外,而是xmlWriter.WriteStartElement
的例外,它有签名:
public void WriteStartElement(
string localName
)
因此,localName
只是起始XML标记的名称,不能包含空格(' '
)。但有other overloads,您可能对以下内容感兴趣:
public void WriteStartElement(
string localName,
string ns
)
其中ns
:
与元素关联的名称空间URI。如果此命名空间已在范围内并具有关联的前缀,则writer还会自动写入该前缀。