useless ms xml things

This commit is contained in:
UbitUmarov
2021-12-14 16:04:45 +00:00
parent da4d4149f0
commit a0e039e876
21 changed files with 67 additions and 22 deletions

View File

@@ -132,6 +132,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
// Quickly check if this is a coalesced object, without fully parsing the XML
using (XmlTextReader reader = new XmlTextReader(new StringReader(xml)))
{
reader.DtdProcessing = DtdProcessing.Ignore;
reader.MoveToContent(); // skip possible xml declaration
if (reader.Name != "CoalescedObject")
@@ -196,22 +197,27 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
return false;
if (data[len - 1] == 0)
--len;
MemoryStream ms;
XmlDocument doc;
// Quickly check if this is a coalesced object, without fully parsing the XML
MemoryStream ms = new MemoryStream(data, 0, len, false);
StreamReader sr = new StreamReader(ms, Encoding.UTF8);
using (XmlTextReader reader = new XmlTextReader(sr))
{
reader.MoveToContent(); // skip possible xml declaration
if (reader.Name != "CoalescedObject")
{
return false;
}
}
XmlDocument doc = new XmlDocument();
using (ms = new MemoryStream(data, 0, len, false))
{
using(StreamReader sr = new StreamReader(ms, Encoding.UTF8))
{
using (XmlTextReader reader = new XmlTextReader(sr))
{
reader.DtdProcessing = DtdProcessing.Ignore;
reader.MoveToContent(); // skip possible xml declaration
if (reader.Name != "CoalescedObject")
return false;
}
}
ms.Seek(0, SeekOrigin.Begin);
doc = new XmlDocument();
doc.Load(ms);
}
XmlElement e = (XmlElement)doc.SelectSingleNode("/CoalescedObject");
if (e == null)

View File

@@ -63,7 +63,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
string fixedData = ExternalRepresentationUtils.SanitizeXml(xmlData);
using (XmlTextReader wrappedReader = new XmlTextReader(fixedData, XmlNodeType.Element, null))
{
using (XmlReader reader = XmlReader.Create(wrappedReader, new XmlReaderSettings() { IgnoreWhitespace = true, ConformanceLevel = ConformanceLevel.Fragment }))
using (XmlReader reader = XmlReader.Create(wrappedReader, new XmlReaderSettings() { IgnoreWhitespace = true, ConformanceLevel = ConformanceLevel.Fragment, DtdProcessing = DtdProcessing.Ignore }))
{
try
{
@@ -78,7 +78,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
}
}
}
/*
public static SceneObjectGroup FromOriginalXmlData(byte[] data)
{
int len = data.Length;
@@ -104,6 +104,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
}
}
}
*/
/// <summary>
/// Deserialize a scene object from the original xml format
@@ -295,7 +296,10 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
using(StringReader sr = new StringReader(parts[0].OuterXml))
{
using(XmlTextReader reader = new XmlTextReader(sr))
{
reader.DtdProcessing = DtdProcessing.Ignore;
sceneObject = new SceneObjectGroup(SceneObjectPart.FromXml(reader));
}
}
// Then deal with the rest
@@ -306,6 +310,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
{
using(XmlTextReader reader = new XmlTextReader(sr))
{
reader.DtdProcessing = DtdProcessing.Ignore;
part = SceneObjectPart.FromXml(reader);
}
}

View File

@@ -55,6 +55,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
{
using(XmlTextReader reader = new XmlTextReader(fileName))
{
reader.DtdProcessing = DtdProcessing.Ignore;
reader.WhitespaceHandling = WhitespaceHandling.None;
doc.Load(reader);
@@ -236,7 +237,9 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
/// <param name="fileName"></param>
public static void LoadPrimsFromXml2(Scene scene, string fileName)
{
LoadPrimsFromXml2(scene, new XmlTextReader(fileName), false);
var xr = new XmlTextReader(fileName);
xr.DtdProcessing = DtdProcessing.Ignore;
LoadPrimsFromXml2(scene, xr , false);
}
/// <summary>
@@ -247,7 +250,9 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
/// <param name="startScripts"></param>
public static void LoadPrimsFromXml2(Scene scene, TextReader reader, bool startScripts)
{
LoadPrimsFromXml2(scene, new XmlTextReader(reader), startScripts);
var xr = new XmlTextReader(reader);
xr.DtdProcessing = DtdProcessing.Ignore;
LoadPrimsFromXml2(scene, xr, startScripts);
}
/// <summary>
@@ -258,7 +263,9 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
/// <param name="startScripts"></param>
protected static void LoadPrimsFromXml2(Scene scene, XmlTextReader reader, bool startScripts)
{
XmlDocument doc = new XmlDocument();
reader.DtdProcessing = DtdProcessing.Ignore;
reader.WhitespaceHandling = WhitespaceHandling.None;
doc.Load(reader);
reader.Close();