mirror of
https://github.com/opensim/opensim.git
synced 2026-08-12 04:05:42 +08:00
a few more xml things
This commit is contained in:
@@ -133,6 +133,9 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||
{
|
||||
using (XmlTextReader reader = new XmlTextReader(sr))
|
||||
{
|
||||
reader.DtdProcessing = DtdProcessing.Prohibit;
|
||||
reader.XmlResolver = null;
|
||||
|
||||
reader.MoveToContent(); // skip possible xml declaration
|
||||
|
||||
if (reader.Name != "CoalescedObject")
|
||||
|
||||
@@ -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.Prohibit, XmlResolver = null }))
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -267,18 +267,29 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||
return null;
|
||||
}
|
||||
|
||||
StringReader sr = new StringReader(parts[0].OuterXml);
|
||||
XmlTextReader reader = new XmlTextReader(sr);
|
||||
SceneObjectGroup sceneObject = new SceneObjectGroup(SceneObjectPart.FromXml(reader));
|
||||
reader.Close();
|
||||
sr.Close();
|
||||
SceneObjectGroup sceneObject;
|
||||
using(StringReader sr = new StringReader(parts[0].OuterXml))
|
||||
{
|
||||
using(XmlTextReader reader = new XmlTextReader(sr))
|
||||
{
|
||||
reader.DtdProcessing = DtdProcessing.Prohibit;
|
||||
reader.XmlResolver = null;
|
||||
|
||||
sceneObject = new SceneObjectGroup(SceneObjectPart.FromXml(reader));
|
||||
}
|
||||
}
|
||||
|
||||
// Then deal with the rest
|
||||
SceneObjectPart part;
|
||||
for (int i = 1; i < parts.Count; i++)
|
||||
{
|
||||
sr = new StringReader(parts[i].OuterXml);
|
||||
reader = new XmlTextReader(sr);
|
||||
SceneObjectPart part = SceneObjectPart.FromXml(reader);
|
||||
using(StringReader sr = new StringReader(parts[i].OuterXml))
|
||||
{
|
||||
using(XmlTextReader reader = new XmlTextReader(sr))
|
||||
{
|
||||
part = SceneObjectPart.FromXml(reader);
|
||||
}
|
||||
}
|
||||
|
||||
int originalLinkNum = part.LinkNum;
|
||||
|
||||
@@ -289,8 +300,6 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||
if (originalLinkNum != 0)
|
||||
part.LinkNum = originalLinkNum;
|
||||
|
||||
reader.Close();
|
||||
sr.Close();
|
||||
}
|
||||
|
||||
XmlNodeList keymotion = doc.GetElementsByTagName("KeyframeMotion");
|
||||
|
||||
@@ -49,14 +49,19 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||
public static void LoadPrimsFromXml(Scene scene, string fileName, bool newIDS, Vector3 loadOffset)
|
||||
{
|
||||
XmlDocument doc = new XmlDocument();
|
||||
doc.XmlResolver=null;
|
||||
XmlNode rootNode;
|
||||
|
||||
if (fileName.StartsWith("http:") || File.Exists(fileName))
|
||||
{
|
||||
XmlTextReader reader = new XmlTextReader(fileName);
|
||||
reader.WhitespaceHandling = WhitespaceHandling.None;
|
||||
doc.Load(reader);
|
||||
reader.Close();
|
||||
using(XmlTextReader reader = new XmlTextReader(fileName))
|
||||
{
|
||||
reader.WhitespaceHandling = WhitespaceHandling.None;
|
||||
reader.DtdProcessing = DtdProcessing.Prohibit;
|
||||
reader.XmlResolver = null;
|
||||
|
||||
doc.Load(reader);
|
||||
}
|
||||
rootNode = doc.FirstChild;
|
||||
foreach (XmlNode aPrimNode in rootNode.ChildNodes)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user