-Merge
This commit is contained in:
@@ -2559,6 +2559,19 @@ namespace Newtonsoft.Json.Tests.Converters
|
||||
Assert.AreEqual(@"{""DocumentId"":""13779965364495889899""}", json2);
|
||||
}
|
||||
#endif
|
||||
[Test]
|
||||
public void DeserializeXmlIncompatibleCharsInPropertyName()
|
||||
{
|
||||
var json = "{\"%name\":\"value\"}";
|
||||
|
||||
XmlDocument node = JsonConvert.DeserializeXmlNode(json);
|
||||
|
||||
Assert.AreEqual("<_x0025_name>value</_x0025_name>", node.OuterXml);
|
||||
|
||||
string json2 = JsonConvert.SerializeXmlNode(node);
|
||||
|
||||
Assert.AreEqual(json, json2);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void SerializeEmptyNodeAndOmitRoot()
|
||||
|
||||
@@ -101,7 +101,7 @@ namespace Newtonsoft.Json.Converters
|
||||
|
||||
public IXmlElement CreateElement(string elementName)
|
||||
{
|
||||
return new XmlElementWrapper(_document.CreateElement(elementName));
|
||||
return new XmlElementWrapper(_document.CreateElement(XmlConvert.EncodeName(elementName)));
|
||||
}
|
||||
|
||||
public IXmlElement CreateElement(string qualifiedName, string namespaceUri)
|
||||
@@ -1032,11 +1032,11 @@ namespace Newtonsoft.Json.Converters
|
||||
|
||||
if (!string.IsNullOrEmpty(prefix))
|
||||
{
|
||||
return prefix + ":" + node.LocalName;
|
||||
return prefix + ":" + XmlConvert.DecodeName(node.LocalName);
|
||||
}
|
||||
else
|
||||
{
|
||||
return node.LocalName;
|
||||
return XmlConvert.DecodeName(node.LocalName);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user