本文整理汇总了C#中System.Xml.XmlNode.ShouldNotBeNull方法的典型用法代码示例。如果您正苦于以下问题:C# XmlNode.ShouldNotBeNull方法的具体用法?C# XmlNode.ShouldNotBeNull怎么用?C# XmlNode.ShouldNotBeNull使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Xml.XmlNode
的用法示例。
在下文中一共展示了XmlNode.ShouldNotBeNull方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetElementText
/// <summary>
/// <paramref name="parentNode"/>를 기준으로 XmlElement를 찾아서 InnerText값을 반환한다.
/// </summary>
/// <param name="parentNode">검색 기준이 되는 parent node</param>
/// <param name="xpath">검색 식</param>
/// <returns>검색한 XmlElement의 Text 속성 값, 없으면 빈 문자열 반환</returns>
public string GetElementText(XmlNode parentNode, string xpath) {
parentNode.ShouldNotBeNull("parentNode");
var element = FindElement(parentNode, xpath);
return (element != null) ? element.InnerText : string.Empty;
}
示例2: AddPI
/// <summary>
/// Processing Instruction Node를 추가한다.
/// </summary>
/// <param name="parentNode"></param>
/// <param name="target"></param>
/// <param name="data"></param>
/// <returns></returns>
public XmlProcessingInstruction AddPI(XmlNode parentNode, string target, string data) {
parentNode.ShouldNotBeNull("parentNode");
if(IsDebugEnabled)
log.Debug("Add XmlProcessingInstruction node. parentNode=[{0}], target=[{1}], data=[{2}]",
parentNode.Name, target, data);
var result = CreateProcessingInstruction(target, data);
parentNode.AppendChild(result);
return result;
}
示例3: AddTextNode
/// <summary>
/// Text Node를 추가한다.
/// </summary>
/// <param name="parentNode"></param>
/// <param name="text"></param>
/// <returns></returns>
public XmlText AddTextNode(XmlNode parentNode, string text) {
parentNode.ShouldNotBeNull("parentNode");
if(IsDebugEnabled)
log.Debug("Add XmlText node. parentNode=[{0}], text=[{1}]", parentNode.Name, text);
var result = CreateTextNode(text);
parentNode.AppendChild(result);
return result;
}
示例4: AddFileElement
/// <summary>
/// XML Element로 파일 내용을 넣는다<br/>
/// 파일내용은 bin.base64 형태로 XML string을 만들어서 XmlElement의 InnerText로 넣는다.
/// </summary>
/// <param name="parentNode">부모 노드</param>
/// <param name="name">새로운 XML Element TagName</param>
/// <param name="filename">DOM에 포함시킬 파일 이름(fullpath)</param>
/// <returns>추가된 XmlElement</returns>
/// <remarks>
/// 파일 내용을 XML DOM에 넣어서 기존의 MSXML2.IXmlHttp를 사용하면 속도문제가 크다.<br />
/// .NET Version에서는 XMLHttp를 WebHttpRequest/WebHttpResponse를 사용하므로 문제없다.
/// Client용 Application 중 MSXML 2,3,4를 사용하면 속도문제는 해결되지 않는다.
/// </remarks>
public XmlElement AddFileElement(XmlNode parentNode, string name, string filename) {
parentNode.ShouldNotBeNull("parentNode");
if(IsDebugEnabled)
log.Debug("Add XmlElement that has file contents. parentNode=[{0}], name=[{1}], filename=[{2}]",
parentNode.Name, name, filename);
if(File.Exists(filename) == false)
throw new FileNotFoundException("File not founded", filename);
var element = AddElementText(parentNode, name, string.Empty);
if(element != null) {
AddAttribute(element, "dt", "bin.base64");
AddAttribute(element, "filePath", filename);
AddAttribute(element, "length", filename.GetFileSize());
element.InnerText = FileTool.ToByteArray(filename).Base64Encode();
}
return element;
}
示例5: AddNode
/// <summary>
/// 부모 노드에 노드를 추가한다.
/// </summary>
/// <param name="parentNode">부모노드</param>
/// <param name="nodeType">System.Xml.XmlNodeType</param>
/// <param name="name">Tag Name</param>
/// <param name="text">Node Value or Text</param>
/// <returns>추가된 System.Xml.XmlNode</returns>
public XmlNode AddNode(XmlNode parentNode, XmlNodeType nodeType, string name, string text) {
parentNode.ShouldNotBeNull("parentNode");
XmlNode result;
switch(nodeType) {
case XmlNodeType.Element:
result = AddElementText(parentNode, name, text);
break;
case XmlNodeType.Attribute:
result = AddAttribute(parentNode, name, text);
break;
case XmlNodeType.Text:
result = AddTextNode(parentNode, text);
break;
case XmlNodeType.CDATA:
result = AddCDataSection(parentNode, text);
break;
case XmlNodeType.EntityReference:
result = AddEntityRef(parentNode, name);
break;
case XmlNodeType.ProcessingInstruction:
result = AddPI(parentNode, name, text);
break;
case XmlNodeType.Comment:
result = AddComment(parentNode, text);
break;
case XmlNodeType.Entity:
result = AddEntity(parentNode, text);
break;
case XmlNodeType.Document:
case XmlNodeType.DocumentType:
case XmlNodeType.DocumentFragment:
case XmlNodeType.Notation:
throw new NotSupportedException("제공하지 않는 NodeType 입니다.");
default:
throw new InvalidOperationException("알 수 없는 NodeType 입니다.");
}
return result;
}
示例6: AddEntity
/// <summary>
/// 부모노드에 <see cref="XmlEntity"/>를 추가한다.
/// </summary>
/// <param name="parentNode">부모 노드</param>
/// <param name="name">Entity 노드 이름</param>
/// <returns>추가된 <see cref="XmlEntity"/> 노드</returns>
public XmlEntity AddEntity(XmlNode parentNode, string name) {
parentNode.ShouldNotBeNull("parentNode");
if(IsDebugEnabled)
log.Debug("Add XmlEntity node... parentNode=[{0}], name=[{1}]", parentNode.Name, name);
var result = (XmlEntity)CreateNode(XmlNodeType.Entity, name, null);
if(DocumentType != null)
DocumentType.Entities.SetNamedItem(result);
parentNode.AppendChild(result);
return result;
}
示例7: AddEntityRef
/// <summary>
/// <paramref name="parentNode"/>에 <see cref="XmlEntityReference"/>를 추가한다.
/// </summary>
/// <param name="parentNode">대상 노드</param>
/// <param name="name">추가할 <see cref="XmlEntityReference"/>의 이름</param>
/// <returns>추가된 <see cref="XmlEntityReference"/></returns>
public XmlEntityReference AddEntityRef(XmlNode parentNode, string name) {
parentNode.ShouldNotBeNull("parentNode");
if(IsDebugEnabled)
log.Debug("Add XmlEntityReference node... parentNode=[{0}], name=[{1}]", parentNode.Name, name);
var result = CreateEntityReference(name);
parentNode.AppendChild(result);
return result;
}
示例8: AddElementText
/// <summary>
/// XmlElement를 생성하여 부모 노드에 추가한다.
/// </summary>
/// <param name="parentNode"></param>
/// <param name="name">Element Tag Name (Element의 TagName은 문자, '_', ':' 만 가능하다.)</param>
/// <param name="text">Element Text Value</param>
/// <returns>추가된 XmlElement</returns>
public XmlElement AddElementText(XmlNode parentNode, string name, string text) {
parentNode.ShouldNotBeNull("parentNode");
if(IsDebugEnabled)
log.Debug("XmlElement를 추가합니다... parentNode=[{0}], name=[{1}], text=[{2}]", parentNode.Name, name, text);
var result = CreateElementText(name, text);
parentNode.AppendChild(result);
return result;
}
示例9: AddElement
/// <summary>
/// 부모 노드에 원본 노드의 복사본을 추가한다.
/// </summary>
/// <param name="parentNode">부모 노드</param>
/// <param name="srcNode">복사할 대상 요소</param>
/// <returns>새로 복사해서 부모노드에 추가한 요소(<see cref="XmlElement"/>)</returns>
public XmlElement AddElement(XmlNode parentNode, XmlElement srcNode) {
parentNode.ShouldNotBeNull("parentNode");
srcNode.ShouldNotBeNull("srcNode");
if(IsDebugEnabled)
log.Debug("XmlElement를 추가합니다... parentNode=[{0}], srcNode=[{1}]", parentNode.Name, srcNode.Name);
var result = srcNode.CloneNode(true) as XmlElement;
if(result != null) {
parentNode.AppendChild(result);
if(IsDebugEnabled)
log.Debug("XmlElement를 추가했습니다!!! 추가된 XmlElement=[{0}]", result);
}
return result;
}
示例10: AddComment
/// <summary>
/// XmlCommend Node를 추가한다.
/// </summary>
/// <param name="parentNode"></param>
/// <param name="comment">Commant Text</param>
/// <returns></returns>
public XmlComment AddComment(XmlNode parentNode, string comment) {
parentNode.ShouldNotBeNull("parentNode");
if(IsDebugEnabled)
log.Debug("Add Comment node... parentNode=[{0}], comment=[{1}]", parentNode.Name, comment);
var result = CreateComment(comment);
return parentNode.AppendChild(result) as XmlComment;
}
示例11: AddElementXml
/// <summary>
/// Xml 문자열을 XmlDocument로 만들어서 Root Node를 부모 노드의 자식 노드로 추가한다.
/// </summary>
/// <param name="parentNode"></param>
/// <param name="xmlText"></param>
/// <returns>추가에 성공한 노드, 실패하면 null이 반환된다.</returns>
public XmlElement AddElementXml(XmlNode parentNode, string xmlText) {
parentNode.ShouldNotBeNull("parentNode");
if(IsDebugEnabled)
log.Debug("새로운 XmlElement를 추가합니다... parentNode=[{0}], xmlText=[{1}]", parentNode.Name, xmlText);
XmlElement result = null;
try {
XmlDocument document = xmlText.CreateXmlDocument();
if(document.IsValidDocument()) {
result = document.DocumentElement.CloneNode(true) as XmlElement;
if(result != null)
parentNode.AppendChild(result);
}
}
catch(Exception ex) {
if(log.IsWarnEnabled) {
log.Warn("새로운 XmlElement를 추가하는데 실패했습니다.");
log.Warn(ex);
}
result = null;
}
return result;
}
示例12: AddCDataSection
/// <summary>
/// XmlCDataSection Node를 부모 노드에 추가한다. (<![CDATA[ xxxx ]]>)
/// </summary>
/// <param name="parentNode">부모노드</param>
/// <param name="cdata">CDataSection의 값</param>
/// <returns></returns>
/// <exception cref="ArgumentNullException">parentNode가 null일 때</exception>
public XmlCDataSection AddCDataSection(XmlNode parentNode, string cdata) {
parentNode.ShouldNotBeNull("parentNode");
if(IsDebugEnabled)
log.Debug("Add CDataSection node... parentNode=[{0}], cdata=[{1}]", parentNode.Name, cdata);
var cds = CreateCDataSection(cdata);
parentNode.AppendChild(cds);
return cds;
}
示例13: AddAttribute
/// <summary>
/// parentNode에 Attribute를 추가한다.
/// </summary>
/// <param name="parentNode">부모 노드</param>
/// <param name="srcAttribute">원본 XmlAttribute 객체</param>
/// <returns></returns>
/// <exception cref="ArgumentNullException">parentNode가 null일 때</exception>
public XmlAttribute AddAttribute(XmlNode parentNode, XmlAttribute srcAttribute) {
parentNode.ShouldNotBeNull("parentNode");
srcAttribute.ShouldNotBeNull("srcAttribute");
if(IsDebugEnabled)
log.Debug("Add instance of Addtribute to parent node. parentNode=[{0}], srcAttribute=[{1}]",
parentNode.Name, srcAttribute.Name);
return (XmlAttribute)parentNode.Attributes.SetNamedItem(srcAttribute);
}
示例14: FindNode
/// <summary>
/// 지정된 노드내에서 XmlNode를 찾는다.
/// </summary>
/// <param name="parentNode">부모 노드</param>
/// <param name="xpath">XPATH 형식 ("ROOT") </param>
public XmlNode FindNode(XmlNode parentNode, string xpath) {
parentNode.ShouldNotBeNull("parentNode");
if(IsDebugEnabled)
log.Debug("노드 찾기... parentNode=[{0}], xpath=[{1}]", parentNode.Name, xpath);
return parentNode.SelectSingleNode(xpath);
}
示例15: FindElements
/// <summary>
/// <paramref name="parentNode"/>에서 <paramref name="xpath"/>에 해당하는 모든 XmlElement를 리스트로 반환한다.
/// </summary>
/// <param name="parentNode">기준이 되는 parent node</param>
/// <param name="xpath">검색 식</param>
/// <returns>XmlNodeList</returns>
protected virtual XmlNodeList FindElements(XmlNode parentNode, string xpath) {
parentNode.ShouldNotBeNull("parentNode");
if(IsDebugEnabled)
log.Debug("요소 찾기... parentNode=[{0}], xpath=[{1}]", parentNode.Name, xpath);
if(xpath.IsNotWhiteSpace())
return parentNode.SelectNodes(xpath);
return null;
}