Files
Umbraco-CMS/umbraco/businesslogic/xmlHelper.cs
Shandem f6d0d043b5 DO NOT DOWNLOAD. DOWNLOAT LATEST STABLE FROM RELEASE TAB
Created 4.1.0 branch

[TFS Changeset #55082]
2009-06-19 07:39:16 +00:00

97 lines
3.3 KiB
C#

using System;
using System.Xml;
namespace umbraco
{
/// <summary>
/// The xmlHelper class contains general helper methods for working with xml in umbraco.
/// </summary>
public class xmlHelper
{
/// <summary>
/// Imports a XML node from text.
/// </summary>
/// <param name="text">The text.</param>
/// <param name="xmlDoc">The XML doc.</param>
/// <returns></returns>
public static XmlNode ImportXmlNodeFromText (string text, ref XmlDocument xmlDoc)
{
xmlDoc.LoadXml(text);
return xmlDoc.FirstChild;
}
/// <summary>
/// Opens a file as a XmlDocument.
/// </summary>
/// <param name="filePath">The relative file path. ei. /config/umbraco.config</param>
/// <returns>Returns a XmlDocument class</returns>
public static XmlDocument OpenAsXmlDocument(string filePath) {
XmlTextReader reader = new XmlTextReader(System.Web.HttpContext.Current.Server.MapPath(filePath));
reader.WhitespaceHandling = WhitespaceHandling.All;
XmlDocument xmlDoc = new XmlDocument();
//Load the file into the XmlDocument
xmlDoc.Load(reader);
//Close off the connection to the file.
reader.Close();
return xmlDoc;
}
/// <summary>
/// creates a XmlAttribute with the specified name and value
/// </summary>
/// <param name="Xd">The xmldocument.</param>
/// <param name="Name">The name of the attribute.</param>
/// <param name="Value">The value of the attribute.</param>
/// <returns>a XmlAttribute</returns>
public static XmlAttribute addAttribute(XmlDocument Xd, string Name, string Value)
{
XmlAttribute temp = Xd.CreateAttribute(Name);
temp.Value = Value;
return temp;
}
/// <summary>
/// Creates a text XmlNode with the specified name and value
/// </summary>
/// <param name="Xd">The xmldocument.</param>
/// <param name="Name">The node name.</param>
/// <param name="Value">The node value.</param>
/// <returns>a XmlNode</returns>
public static XmlNode addTextNode(XmlDocument Xd, string Name, string Value)
{
XmlNode temp = Xd.CreateNode(XmlNodeType.Element, Name, "");
temp.AppendChild(Xd.CreateTextNode(Value));
return temp;
}
/// <summary>
/// Creates a cdata XmlNode with the specified name and value
/// </summary>
/// <param name="Xd">The xmldocument.</param>
/// <param name="Name">The node name.</param>
/// <param name="Value">The node value.</param>
/// <returns>A XmlNode</returns>
public static XmlNode addCDataNode(XmlDocument Xd, string Name, string Value)
{
XmlNode temp = Xd.CreateNode(XmlNodeType.Element, Name, "");
temp.AppendChild(Xd.CreateCDataSection(Value));
return temp;
}
/// <summary>
/// Gets the value of a XmlNode
/// </summary>
/// <param name="n">The XmlNode.</param>
/// <returns>the value as a string</returns>
public static string GetNodeValue(XmlNode n)
{
if (n == null || n.FirstChild == null)
return string.Empty;
return n.FirstChild.Value;
}
}
}