本文整理汇总了C#中System.Xml.XmlDocument.GetPrefixOfNamespace方法的典型用法代码示例。如果您正苦于以下问题:C# XmlDocument.GetPrefixOfNamespace方法的具体用法?C# XmlDocument.GetPrefixOfNamespace怎么用?C# XmlDocument.GetPrefixOfNamespace使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Xml.XmlDocument
的用法示例。
在下文中一共展示了XmlDocument.GetPrefixOfNamespace方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DavLockBase_InternalProcessDavRequest
private int DavLockBase_InternalProcessDavRequest(object sender, EventArgs e)
{
int _responseCode = (int)DavLockResponseCode.Ok;
string[] _lockTokens = this.RequestLock.GetLockTokens();
//Check to see if a lock refresh was requested
if (base.HttpApplication.Request.Headers["If"] != null)
{
if (_lockTokens.Length == 1)
{
DavRefreshEventArgs _refreshEventArgs = new DavRefreshEventArgs(_lockTokens[0], this.RequestLock.LockTimeout);
OnRefreshLockDavRequest(_refreshEventArgs);
}
base.HttpApplication.Response.AppendHeader("Timeout", "Second-" + this.ResponseLock.LockTimeout);
}
else
{
//New lock request
StringBuilder _opaquelockTokens = new StringBuilder();
foreach (string _lockToken in _lockTokens)
_opaquelockTokens.Append("<opaquelocktoken:" + _lockToken + ">");
base.HttpApplication.Response.AppendHeader("Lock-Token", _opaquelockTokens.ToString());
}
//Check to see if there were any process errors...
Enum[] _errorResources = this.ProcessErrorResources;
if (_errorResources.Length > 0)
{
//Append a response node
XmlDocument _xmlDocument = new XmlDocument();
XmlNode _responseNode = _xmlDocument.CreateNode(XmlNodeType.Element, _xmlDocument.GetPrefixOfNamespace("DAV:"), "response", "DAV:");
//Add the HREF
XmlElement _requestLockHrefElement = _xmlDocument.CreateElement("href", "DAV:");
_requestLockHrefElement.InnerText = base.RelativeRequestPath;
_responseNode.AppendChild(_requestLockHrefElement);
//Add the propstat
XmlElement _propstatElement = _xmlDocument.CreateElement("propstat", "DAV:");
XmlElement _propElement = _xmlDocument.CreateElement("prop", "DAV:");
XmlElement _lockDiscoveryElement = _xmlDocument.CreateElement("lockdiscovery", "DAV:");
_propElement.AppendChild(_lockDiscoveryElement);
_propstatElement.AppendChild(_propElement);
XmlElement _statusElement = _xmlDocument.CreateElement("status", "DAV:");
_statusElement.InnerText = InternalFunctions.GetEnumHttpResponse(DavLockResponseCode.FailedDependency);
_propstatElement.AppendChild(_statusElement);
_responseNode.AppendChild(_propstatElement);
base.SetResponseXml(InternalFunctions.ProcessErrorRequest(this.ProcessErrors, _responseNode));
_responseCode = (int)ServerResponseCode.MultiStatus;
}
else
{
//No issues
using (Stream _responseStream = new MemoryStream())
{
XmlTextWriter _xmlWriter = new XmlTextWriter(_responseStream, new UTF8Encoding(false));
_xmlWriter.Formatting = Formatting.Indented;
_xmlWriter.IndentChar = '\t';
_xmlWriter.Indentation = 1;
_xmlWriter.WriteStartDocument();
//Open the prop element section
_xmlWriter.WriteStartElement("D", "prop", "DAV:");
_xmlWriter.WriteStartElement("lockdiscovery", "DAV:");
this.ResponseLock.ActiveLock.WriteTo(_xmlWriter);
_xmlWriter.WriteEndElement();
_xmlWriter.WriteEndElement();
_xmlWriter.WriteEndDocument();
_xmlWriter.Flush();
base.SetResponseXml(_responseStream);
_xmlWriter.Close();
}
}
return _responseCode;
}
示例2: CreatePutResponse
/// <summary>
/// Create a repsonse for a PUT request - uploading a file
/// </summary>
/// <param name="properties"></param>
/// <returns></returns>
private Byte[] CreatePutResponse(HTTPHeader header, Byte[] body, params string[] properties)
{
#region Get Owner
XmlDocument OwnerXmlDocument = new XmlDocument();
OwnerXmlDocument.LoadXml(Encoding.UTF8.GetString(body));
String NamespacePrefix = OwnerXmlDocument.GetPrefixOfNamespace(S_DAV_NAMESPACE_URI);
if (NamespacePrefix == "") NamespacePrefix = S_DAV_PREFIX;
XmlNamespaceManager XmlNamespaceManager = new XmlNamespaceManager(OwnerXmlDocument.NameTable);
XmlNamespaceManager.AddNamespace(NamespacePrefix, S_DAV_NAMESPACE_URI);
XmlElement OwnerRoot = OwnerXmlDocument.DocumentElement;
XmlNode OwnerNode = OwnerRoot.SelectSingleNode(String.Concat("/", S_DAV_PREFIX, ":lockinfo/", S_DAV_PREFIX, ":owner/", S_DAV_PREFIX, ":href"), XmlNamespaceManager);
String Owner = OwnerNode.InnerText;
#endregion
#region Create XmlDocument
XmlDocument XmlDocument = new XmlDocument();
XmlElement Root = XmlDocument.CreateElement(S_DAV_PREFIX, "prop", S_DAV_NAMESPACE_URI);
XmlElement LockDiscovery = XmlDocument.CreateElement(S_DAV_PREFIX, "lockdiscovery", S_DAV_NAMESPACE_URI);
XmlElement ActiveLock = XmlDocument.CreateElement(S_DAV_PREFIX, "activelock", S_DAV_NAMESPACE_URI);
XmlElement LockType = XmlDocument.CreateElement(S_DAV_PREFIX, "locktype", S_DAV_NAMESPACE_URI);
LockType.AppendChild(XmlDocument.CreateElement(S_DAV_PREFIX, "write", S_DAV_NAMESPACE_URI));
XmlElement LockScope = XmlDocument.CreateElement(S_DAV_PREFIX, "lockscope", S_DAV_NAMESPACE_URI);
LockType.AppendChild(XmlDocument.CreateElement(S_DAV_PREFIX, "exclusive", S_DAV_NAMESPACE_URI));
Dictionary<String, String> MoreProps = new Dictionary<String, String>();
MoreProps.Add("depth", "0");
MoreProps.Add("owner", Owner);
MoreProps.Add("timeout", "Second-3600");
XmlElement ElemMoreActivelockProps = CreatePropstatElement(header, XmlDocument, MoreProps, header.Destination);
#region LockToken
XmlElement LockToken = XmlDocument.CreateElement(S_DAV_PREFIX, "locktoken", S_DAV_NAMESPACE_URI);
XmlElement LockTokenHRef = XmlDocument.CreateElement(S_DAV_PREFIX, "href", S_DAV_NAMESPACE_URI);
//"opaquelocktoken:{A2E9F1BD-47DB-487E-AA85-8A10ACFA391D}20090323T091747Z";
LockTokenHRef.InnerText = "opaquelocktoken:{" + Guid.NewGuid().ToString() + "}" + TimestampNonce.AsString(S_DATETIME_FORMAT); //20090323T091747Z";
LockToken.AppendChild(LockTokenHRef);
#endregion
ActiveLock.AppendChild(LockType);
ActiveLock.AppendChild(LockScope);
ActiveLock.AppendChild(ElemMoreActivelockProps);
ActiveLock.AppendChild(LockToken);
LockDiscovery.AppendChild(ActiveLock);
Root.AppendChild(LockDiscovery);
XmlDocument.AppendChild(Root);
#endregion
#region Stream XmlDocument to ByteArray
XmlWriterSettings settings;
settings = new XmlWriterSettings();
settings.Encoding = Encoding.UTF8;
using (MemoryStream stream = new MemoryStream())
{
using (XmlWriter writer = XmlWriter.Create(stream, settings))
{
XmlDocument.WriteContentTo(writer);
writer.Flush();
return stream.ToArray();
}
}
#endregion
}
示例3: ParsePropfindBody
/// <summary>
/// Parses a webDAV request body for some properties and return them
/// </summary>
/// <param name="body"></param>
/// <returns></returns>
private PropfindProperties ParsePropfindBody(Byte[] body)
{
PropfindProperties FoundPropfindProperties = PropfindProperties.NONE;
String BodyString = Encoding.UTF8.GetString(body);
try
{
XmlDocument XmlDocument = new XmlDocument();
XmlDocument.LoadXml(BodyString);
String NamespacePrefix = XmlDocument.GetPrefixOfNamespace(S_DAV_NAMESPACE_URI);
if (NamespacePrefix == "") NamespacePrefix = S_DAV_PREFIX;
XmlNamespaceManager XmlNamespaceManager = new XmlNamespaceManager(XmlDocument.NameTable);
XmlNamespaceManager.AddNamespace(NamespacePrefix, S_DAV_NAMESPACE_URI);
if (XmlDocument.SelectSingleNode(String.Concat("/", NamespacePrefix, ":propfind/", NamespacePrefix, ":allprop"), XmlNamespaceManager) != null)
return PropfindProperties.AllProp;
XmlNode Node = XmlDocument.SelectSingleNode(String.Concat("/",NamespacePrefix,":propfind/",NamespacePrefix,":prop"), XmlNamespaceManager);
if (Node != null)
{
foreach (XmlNode ChildNodes in Node.ChildNodes)
{
String Prop = ChildNodes.LocalName;
switch (Prop.ToLower())
{
case "creationdate":
FoundPropfindProperties |= PropfindProperties.Creationdate;
break;
case "displayname":
FoundPropfindProperties |= PropfindProperties.Displayname;
break;
case "getcontentlanguage":
FoundPropfindProperties |= PropfindProperties.Getcontentlanguage;
break;
case "getcontentlength":
FoundPropfindProperties |= PropfindProperties.Getcontentlength;
break;
case "getcontenttype":
FoundPropfindProperties |= PropfindProperties.Getcontenttype;
break;
case "getetag":
FoundPropfindProperties |= PropfindProperties.Getetag;
break;
case "getlastmodified":
FoundPropfindProperties |= PropfindProperties.Getlastmodified;
break;
case "lockdiscovery":
FoundPropfindProperties |= PropfindProperties.Lockdiscovery;
break;
case "resourcetype":
FoundPropfindProperties |= PropfindProperties.Resourcetype;
break;
case "supportedlock":
FoundPropfindProperties |= PropfindProperties.Supportedlock;
break;
#region SVN
case "version-controlled-configuration":
FoundPropfindProperties |= PropfindProperties.VersionControlledConfiguration;
break;
case "baseline-relative-path":
FoundPropfindProperties |= PropfindProperties.BaselineRelativePath;
break;
case "repository-uuid":
FoundPropfindProperties |= PropfindProperties.RepositoryUuid;
break;
case "checked-in":
FoundPropfindProperties |= PropfindProperties.CheckedIn;
break;
case "baseline-collection":
FoundPropfindProperties |= PropfindProperties.BaselineCollection;
break;
case "version-Name":
FoundPropfindProperties |= PropfindProperties.VersionName;
break;
case "creator-displayname":
FoundPropfindProperties |= PropfindProperties.CreatorDisplayname;
break;
case "deadprop-count":
FoundPropfindProperties |= PropfindProperties.DeadpropCount;
break;
#endregion
default:
//FoundPropfindProperties |= PropfindProperties.NONE;
break;
}
}
}
//.........这里部分代码省略.........
示例4: CreateLockResponse
/// <summary>
/// Create a repsonse for a LOCK request - introducing a file copy (get)
/// </summary>
/// <param name="properties"></param>
/// <returns></returns>
private Byte[] CreateLockResponse(HTTPHeader header, Byte[] body, WebDAVDepth depth, params string[] properties)
{
#region Get Owner
XmlDocument OwnerXmlDocument = new XmlDocument();
OwnerXmlDocument.LoadXml(Encoding.UTF8.GetString(body));
String NamespacePrefix = OwnerXmlDocument.GetPrefixOfNamespace(S_DAV_NAMESPACE_URI);
if (NamespacePrefix == "") NamespacePrefix = S_DAV_PREFIX;
XmlNamespaceManager XmlNamespaceManager = new XmlNamespaceManager(OwnerXmlDocument.NameTable);
XmlNamespaceManager.AddNamespace(NamespacePrefix, S_DAV_NAMESPACE_URI);
XmlElement OwnerRoot = OwnerXmlDocument.DocumentElement;
XmlNode OwnerNode = OwnerRoot.SelectSingleNode(String.Concat("/", S_DAV_PREFIX, ":lockinfo/", S_DAV_PREFIX, ":owner/", S_DAV_PREFIX, ":href"), XmlNamespaceManager);
String Owner = OwnerNode.InnerText;
#endregion
String LockTokenString = String.Concat("{" + Guid.NewGuid().ToString() + "}");
TimeSpan LockLifetime;
try
{
LockLifetime = TimeSpan.FromSeconds(Double.Parse(header.Headers["Timeout"].Substring(header.Headers["Timeout"].IndexOf('-') + 1)));
}
catch
{
LockLifetime = TimeSpan.FromSeconds(60 * 60);
}
RessourceLock.LockRessource(LockTokenString, header.Destination, LockLifetime);
#region Create XmlDocument
XmlDocument XmlDocument = new XmlDocument();
XmlElement Root = XmlDocument.CreateElement(S_DAV_PREFIX, "prop", S_DAV_NAMESPACE_URI);
AddPropfindLockdiscoveryElements(Root, header.Destination, header.FullHTTPDestinationPath());
XmlDocument.AppendChild(Root);
#endregion
#region Stream XmlDocument to ByteArray
XmlWriterSettings settings;
settings = new XmlWriterSettings();
settings.Encoding = Encoding.UTF8;
using (MemoryStream stream = new MemoryStream())
{
using (XmlWriter writer = XmlWriter.Create(stream, settings))
{
XmlDocument.WriteContentTo(writer);
writer.Flush();
return CleanContent(stream.ToArray());
}
}
#endregion
}