2

我在尝试解析 xml 时收到错误消息“名称不能以 ':' 字符开头,十六进制值 0x3A”。xml 如图片中所附。你能帮我解决这个问题吗?我正在使用以下代码行来解析文档。我不知道为什么会出现这个错误,因为它只是在客户端网络中崩溃。在我这里,当我运行代码时,我没有收到任何错误。

xml如下。

<Fields>
  <Field name="ows_Target" value="jiraDevInstance" />
  <Field name="ows_MappingXML" value="<Mappings> 
  <Mapping id="1" source="EndDateTime" sourceDataType="DateTime" sourceDataFormat="MM/dd/yy hh:mm tt" target="duedate"  targetDataType="DateTime" targetDataFormat="YYYY-MM-DD hh:mm tt zzz"/><Mapping id="2" source="IssueRaisedBy"    sourceDataType="string" sourceDataFormat="#-1:domain/username" target="reporter" targetDataType="string"        targetDataFormat="username" /><Mapping id="3" source="RAName" sourceDataType="string" sourceDataFormat="#-          1:domain/username" targetDataType="string" target="submitter" targetDataFormat="username" /><Mapping id="4"             source="RCAComments" sourceDataType="string" target="summary" targetDataType="string" /><Mapping id="5"             source="RAComments" sourceDataType="string" target="summary" targetDataType="string" /></Mappings>" />
  <Filters>
    <Field name="TicketNumber" value="DT_MINT_2025" />
    <Field name="RemedyIncidenetNumber" />
  </Filters>
</Fields>

我正在尝试将子节点的 xml 值分配给另一个 xml 文档。

XmlNode mappingNode;
mappingNode = inDoc.CreateElement("sample");
XmlNamespaceManager xmlNS = new XmlNamespaceManager(inDoc.NameTable);
xmlNS.AddNamespace("my", inDoc.NamespaceURI);
if (inDoc.SelectSingleNode("my:Fields/my:Field[@name='ows_MappingXML']",xmlNS) != null  

&& inDoc.SelectSingleNode("my:Fields/my:Field[@name='ows_MappingXML']",xmlNS).Attributes["value"].Value != null) mappingNode.InnerXml = inDoc.SelectSingleNode("my:Fields /my:Field[@name='ows_MappingXML']",xmlNS).Attributes["value"].Value;

inDoc.NamespaceURI 为空,而名称表中有一些条目。

任何帮助将不胜感激。如果您需要更多详细信息,请回复。

4

1 回答 1

1

我不太清楚为什么您会收到特定的错误消息,但是您不能以这种方式将 XML 元素放入 XML 属性中(value="<Mappings> ...</Mappings>")。它根本不是 XML。

无法真正帮助您修复它,因为这完全取决于坏 XML 的来源。

于 2013-04-05T09:56:35.867 回答