Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ LoadAttributeNode()

XmlAttribute System.Xml.XmlLoader.LoadAttributeNode ( )
inlineprivate

Definition at line 206 of file XmlLoader.cs.

207 {
208 XmlReader reader = _reader;
209 if (reader.IsDefault)
210 {
211 return LoadDefaultAttribute();
212 }
213 XmlAttribute xmlAttribute = _doc.CreateAttribute(reader.Prefix, reader.LocalName, reader.NamespaceURI);
214 IXmlSchemaInfo schemaInfo = reader.SchemaInfo;
215 if (schemaInfo != null)
216 {
217 xmlAttribute.XmlName = _doc.AddAttrXmlName(xmlAttribute.Prefix, xmlAttribute.LocalName, xmlAttribute.NamespaceURI, schemaInfo);
218 }
219 while (reader.ReadAttributeValue())
220 {
221 XmlNode xmlNode;
222 switch (reader.NodeType)
223 {
224 case XmlNodeType.Text:
225 xmlNode = _doc.CreateTextNode(reader.Value);
226 break;
227 case XmlNodeType.EntityReference:
228 xmlNode = _doc.CreateEntityReference(reader.LocalName);
229 if (reader.CanResolveEntity)
230 {
231 reader.ResolveEntity();
233 if (xmlNode.FirstChild == null)
234 {
235 xmlNode.AppendChildForLoad(_doc.CreateTextNode(string.Empty), _doc);
236 }
237 }
238 break;
239 default:
240 throw UnexpectedNodeType(reader.NodeType);
241 }
242 xmlAttribute.AppendChildForLoad(xmlNode, _doc);
243 }
244 return xmlAttribute;
245 }
virtual XmlText CreateTextNode(string? text)
virtual XmlEntityReference CreateEntityReference(string name)
XmlName AddAttrXmlName(string prefix, string localName, string namespaceURI, IXmlSchemaInfo schemaInfo)
XmlAttribute CreateAttribute(string name)
XmlAttribute LoadDefaultAttribute()
Definition XmlLoader.cs:247
static Exception UnexpectedNodeType(XmlNodeType nodetype)
Definition XmlLoader.cs:841
XmlDocument _doc
Definition XmlLoader.cs:9
void LoadAttributeValue(XmlNode parent, bool direct)
Definition XmlLoader.cs:264

References System.Xml.XmlLoader._doc, System.Xml.XmlLoader._reader, System.Xml.XmlDocument.AddAttrXmlName(), System.Xml.XmlReader.CanResolveEntity, System.Xml.XmlDocument.CreateAttribute(), System.Xml.XmlDocument.CreateEntityReference(), System.Xml.XmlDocument.CreateTextNode(), System.Xml.Dictionary, System.Xml.XmlReader.IsDefault, System.Xml.XmlLoader.LoadAttributeValue(), System.Xml.XmlLoader.LoadDefaultAttribute(), System.Xml.XmlReader.LocalName, System.Xml.XmlReader.NamespaceURI, System.Xml.XmlReader.NodeType, System.Xml.XmlReader.Prefix, System.Xml.XmlReader.ReadAttributeValue(), System.Xml.XmlReader.ResolveEntity(), System.Xml.XmlReader.SchemaInfo, System.Xml.XmlLoader.UnexpectedNodeType(), and System.Xml.XmlReader.Value.

Referenced by System.Xml.XmlLoader.LoadNode().