WebConfigurationManager.AppSettings.Get(" urlAddress")的异常

时间:2014-07-28 20:55:55

标签: c# xml exception webconfigurationmanager

我是使用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()语句究竟访问了什么,以及可能导致异常的原因是什么?

1 个答案:

答案 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还会自动写入该前缀。