C# Class NSoft.NFramework.Xml.XmlDoc

Inheritance: System.Xml.XmlDocument
显示文件 Open project: debop/NFramework Class Usage Examples

Public Methods

Method Description
AddAttribute ( XmlNode parentNode, XmlAttribute srcAttribute ) : XmlAttribute

parentNode에 Attribute를 추가한다.

AddAttribute ( XmlNode parentNode, string name, object attrValue ) : XmlAttribute

parentNode에 새로운 Attribute를 추가한다.

AddAttribute ( XmlNode parentNode, string name, object attrValue, bool replace ) : XmlAttribute

parentNode에 새로운 Attribute를 추가한다.

AddCDataSection ( XmlNode parentNode, string cdata ) : XmlCDataSection

XmlCDataSection Node를 부모 노드에 추가한다. (<![CDATA[ xxxx ]]>)

AddComment ( XmlNode parentNode, string comment ) : XmlComment

XmlCommend Node를 추가한다.

AddElement ( XmlNode parentNode, XmlElement srcNode ) : XmlElement

부모 노드에 원본 노드의 복사본을 추가한다.

AddElement ( XmlNode parentNode, string name, string text ) : XmlElement

부모노드에 지정된 이름과 지정된 Text 값을 가진 XmlElement를 Parent Node에 추가한다.

AddElementText ( XmlNode parentNode, string name, string text ) : XmlElement

XmlElement를 생성하여 부모 노드에 추가한다.

AddElementXml ( XmlNode parentNode, string xmlText ) : XmlElement

Xml 문자열을 XmlDocument로 만들어서 Root Node를 부모 노드의 자식 노드로 추가한다.

AddEntity ( XmlNode parentNode, string name ) : XmlEntity

부모노드에 XmlEntity를 추가한다.

AddEntityRef ( XmlNode parentNode, string name ) : XmlEntityReference

parentNodeXmlEntityReference를 추가한다.

AddFileElement ( XmlNode parentNode, string name, string filename ) : XmlElement

XML Element로 파일 내용을 넣는다
파일내용은 bin.base64 형태로 XML string을 만들어서 XmlElement의 InnerText로 넣는다.

파일 내용을 XML DOM에 넣어서 기존의 MSXML2.IXmlHttp를 사용하면 속도문제가 크다.
.NET Version에서는 XMLHttp를 WebHttpRequest/WebHttpResponse를 사용하므로 문제없다. Client용 Application 중 MSXML 2,3,4를 사용하면 속도문제는 해결되지 않는다.

AddNode ( XmlNode parentNode, System.Xml.XmlNodeType nodeType, string name, string text ) : XmlNode

부모 노드에 노드를 추가한다.

AddPI ( XmlNode parentNode, string target, string data ) : XmlProcessingInstruction

Processing Instruction Node를 추가한다.

AddTextNode ( XmlNode parentNode, string text ) : XmlText

Text Node를 추가한다.

FindNode ( XmlNode parentNode, string xpath ) : XmlNode

지정된 노드내에서 XmlNode를 찾는다.

FindNode ( string xpath ) : XmlNode

XmlNode를 찾는다.

GetAttributeNode ( XmlElement node, string name ) : XmlAttribute

Element 내의 지정한 이름의 Attribute를 반환한다.

GetElement ( XmlNode parentNode, string xpath ) : XmlElement

XmlElement를 찾는다.

GetElement ( string xpath ) : XmlElement

xpath로 검색한 XmlElement 노드를 반환한다. - XmlDoc.FindElement(string)와 같다.

GetElementText ( XmlNode parentNode, string xpath ) : string

parentNode를 기준으로 XmlElement를 찾아서 InnerText값을 반환한다.

GetElementText ( string xpath ) : string

XmlElement를 찾아서 InnerText값을 반환한다.

GetElementTextArray ( string xpath ) : string[]

xpath에 해당하는 XmlElement 들을 찾아서 Element의 Text 를 string array로 반환한다.

InsertElementBefore ( XmlElement refNode, XmlElement newNode ) : XmlElement

새로운 XmlElement를 refNode 앞에 추가한다.

InsertElementBefore ( XmlElement refNode, string xml ) : XmlElement

새로운 XmlElement를 refNode 앞에 추가한다.

InsertElementBefore ( XmlElement refNode, string name, string text ) : XmlElement

새로운 XmlElement를 refNode 앞에 추가한다.

IsValidNodeIndex ( int index ) : bool

속도가 느리기 때문에 사용하지 안는 것이 좋다.

IsValidTagName ( string tagName ) : bool

Element의 TagName은 문자, '_', ':' 만 가능하다. 되도록 Element Tag Name에 특수 문자를 사용하지 마시요.

이 함수는 되도록 사용하지 마십시요. DOM을 생성해서 TEST하는 것이므로 속도가 매우 느립니다.

RemoveElement ( XmlElement element ) : bool

지정된 Element를 삭제한다.

RemoveElement ( XmlNode parentNode, string xpath ) : bool

Element Node를 찾아서 삭제한다.

RemoveNamedItem ( XmlNamedNodeMap nodeMap, XmlNode node ) : XmlNode

NamedNodeMap에서 해당 node를 삭제한다.

RemoveNamedItem ( XmlNamedNodeMap nodeMap, string nodeName ) : XmlNode

NamedNodeMap(대부분 XmlAttributeCollection)에서 해당 node를 삭제한다.

RemoveSelection ( string xpath ) : int

xpath로 찾은 모든 XmlNode를 삭제한다.

SaveFileElement ( XmlElement fileNode, string filename ) : string

File 정보를 담고 있는 XmlElement를 filename으로 저장한다.

SaveFileElement ( XmlElement fileNode, string filename, bool overwrite ) : string

File 정보를 담고 있는 XmlElement를 filename으로 저장한다.

SaveToFile ( string filename ) : void

Xml 내용을 파일로 저장한다.

SaveToTemp ( string filename ) : void

Xml 내용을 System Temporary Directory에 저장한다.

SetElementText ( string xpath, string text ) : void

xpath로 찾은 Element의 InnerText값을 지정한다.

SetNamedItem ( XmlNamedNodeMap nodeMap, XmlNode node ) : XmlNode

XmlNamedNodeMap에 Node를 추가한다.

SetNamedItem ( XmlNamedNodeMap nodeMap, string name, string value ) : XmlNode

XmlNamedNodeMap에 Node를 추가한다.

XmlDoc ( ) : System

기본 생성자

XmlDoc ( Stream stream ) : System

stream 정보를 읽어서 XmlDocument 인스턴스를 생성한다.

XmlDoc ( Uri uri ) : System

생성자 ( System.Uri 개체의 AbsoluteUri 속성을 통해 XmlDocument를 생성합니다.

XmlDoc ( XmlDocument document ) : System

생성자 - document을 읽어서 새로운 XmlDocument 인스턴스를 생성한다.

XmlDoc ( string xmlText ) : System

주어진 xml 문자열이 순수 XML string이거나 URI 이거나 모두 load하여 XmlDocument를 구성한다.

Protected Methods

Method Description
CreateElementText ( string name, string text ) : XmlElement

Create a new instance of XmlElement with name and text

FindElement ( XmlNode parentNode, string xpath ) : XmlElement

xpath에 해당하는 XmlElement를 지정된 parentNode 자식 노드에서 검색하여 반환한다.

FindElement ( string xpath ) : XmlElement

xpath에 해당하는 XmlElement를 XmlDocument 전체에서 검색하여 반환한다.

FindElements ( XmlNode parentNode, string xpath ) : XmlNodeList

parentNode에서 xpath에 해당하는 모든 XmlElement를 리스트로 반환한다.

FindElements ( string xpath ) : XmlNodeList

XmlDoc에서 xpath에 해당하는 모든 XmlElement를 리스트로 반환한다.

IsNodeCanHaveChildNode ( XmlNode node ) : bool

node가 자식 노드를 가질 수 있는지 판단한다.

Private Methods

Method Description
CreateElementXml ( string xml ) : XmlElement

Method Details

AddAttribute() public method

parentNode에 Attribute를 추가한다.
parentNode가 null일 때
public AddAttribute ( XmlNode parentNode, XmlAttribute srcAttribute ) : XmlAttribute
parentNode System.Xml.XmlNode 부모 노드
srcAttribute System.Xml.XmlAttribute 원본 XmlAttribute 객체
return System.Xml.XmlAttribute

AddAttribute() public method

parentNode에 새로운 Attribute를 추가한다.
public AddAttribute ( XmlNode parentNode, string name, object attrValue ) : XmlAttribute
parentNode System.Xml.XmlNode 부모 노드
name string 특성 이름
attrValue object 특성 값
return System.Xml.XmlAttribute

AddAttribute() public method

parentNode에 새로운 Attribute를 추가한다.
parentNode가 null일 때
public AddAttribute ( XmlNode parentNode, string name, object attrValue, bool replace ) : XmlAttribute
parentNode System.Xml.XmlNode 부모 노드
name string 특성 이름
attrValue object 특성 값
replace bool 기존 존재시 대체 여부
return System.Xml.XmlAttribute

AddCDataSection() public method

XmlCDataSection Node를 부모 노드에 추가한다. (<![CDATA[ xxxx ]]>)
parentNode가 null일 때
public AddCDataSection ( XmlNode parentNode, string cdata ) : XmlCDataSection
parentNode System.Xml.XmlNode 부모노드
cdata string CDataSection의 값
return System.Xml.XmlCDataSection

AddComment() public method

XmlCommend Node를 추가한다.
public AddComment ( XmlNode parentNode, string comment ) : XmlComment
parentNode System.Xml.XmlNode
comment string Commant Text
return System.Xml.XmlComment

AddElement() public method

부모 노드에 원본 노드의 복사본을 추가한다.
public AddElement ( XmlNode parentNode, XmlElement srcNode ) : XmlElement
parentNode System.Xml.XmlNode 부모 노드
srcNode System.Xml.XmlElement 복사할 대상 요소
return System.Xml.XmlElement

AddElement() public method

부모노드에 지정된 이름과 지정된 Text 값을 가진 XmlElement를 Parent Node에 추가한다.
public AddElement ( XmlNode parentNode, string name, string text ) : XmlElement
parentNode System.Xml.XmlNode
name string
text string XmlElement의 Text 속성
return System.Xml.XmlElement

AddElementText() public method

XmlElement를 생성하여 부모 노드에 추가한다.
public AddElementText ( XmlNode parentNode, string name, string text ) : XmlElement
parentNode System.Xml.XmlNode
name string Element Tag Name (Element의 TagName은 문자, '_', ':' 만 가능하다.)
text string Element Text Value
return System.Xml.XmlElement

AddElementXml() public method

Xml 문자열을 XmlDocument로 만들어서 Root Node를 부모 노드의 자식 노드로 추가한다.
public AddElementXml ( XmlNode parentNode, string xmlText ) : XmlElement
parentNode System.Xml.XmlNode
xmlText string
return System.Xml.XmlElement

AddEntity() public method

부모노드에 XmlEntity를 추가한다.
public AddEntity ( XmlNode parentNode, string name ) : XmlEntity
parentNode System.Xml.XmlNode 부모 노드
name string Entity 노드 이름
return System.Xml.XmlEntity

AddEntityRef() public method

parentNodeXmlEntityReference를 추가한다.
public AddEntityRef ( XmlNode parentNode, string name ) : XmlEntityReference
parentNode System.Xml.XmlNode 대상 노드
name string 추가할 의 이름
return System.Xml.XmlEntityReference

AddFileElement() public method

XML Element로 파일 내용을 넣는다
파일내용은 bin.base64 형태로 XML string을 만들어서 XmlElement의 InnerText로 넣는다.
파일 내용을 XML DOM에 넣어서 기존의 MSXML2.IXmlHttp를 사용하면 속도문제가 크다.
.NET Version에서는 XMLHttp를 WebHttpRequest/WebHttpResponse를 사용하므로 문제없다. Client용 Application 중 MSXML 2,3,4를 사용하면 속도문제는 해결되지 않는다.
public AddFileElement ( XmlNode parentNode, string name, string filename ) : XmlElement
parentNode System.Xml.XmlNode 부모 노드
name string 새로운 XML Element TagName
filename string DOM에 포함시킬 파일 이름(fullpath)
return System.Xml.XmlElement

AddNode() public method

부모 노드에 노드를 추가한다.
public AddNode ( XmlNode parentNode, System.Xml.XmlNodeType nodeType, string name, string text ) : XmlNode
parentNode System.Xml.XmlNode 부모노드
nodeType System.Xml.XmlNodeType System.Xml.XmlNodeType
name string Tag Name
text string Node Value or Text
return System.Xml.XmlNode

AddPI() public method

Processing Instruction Node를 추가한다.
public AddPI ( XmlNode parentNode, string target, string data ) : XmlProcessingInstruction
parentNode System.Xml.XmlNode
target string
data string
return System.Xml.XmlProcessingInstruction

AddTextNode() public method

Text Node를 추가한다.
public AddTextNode ( XmlNode parentNode, string text ) : XmlText
parentNode System.Xml.XmlNode
text string
return System.Xml.XmlText

CreateElementText() protected method

Create a new instance of XmlElement with name and text
protected CreateElementText ( string name, string text ) : XmlElement
name string XmlElement의 이름
text string XmlElement의 Inner Text
return System.Xml.XmlElement

FindElement() protected method

xpath에 해당하는 XmlElement를 지정된 parentNode 자식 노드에서 검색하여 반환한다.
protected FindElement ( XmlNode parentNode, string xpath ) : XmlElement
parentNode System.Xml.XmlNode 검색 기준이 되는 parent node
xpath string 검색 식
return System.Xml.XmlElement

FindElement() protected method

xpath에 해당하는 XmlElement를 XmlDocument 전체에서 검색하여 반환한다.
protected FindElement ( string xpath ) : XmlElement
xpath string 검색 식
return System.Xml.XmlElement

FindElements() protected method

parentNode에서 xpath에 해당하는 모든 XmlElement를 리스트로 반환한다.
protected FindElements ( XmlNode parentNode, string xpath ) : XmlNodeList
parentNode System.Xml.XmlNode 기준이 되는 parent node
xpath string 검색 식
return System.Xml.XmlNodeList

FindElements() protected method

XmlDoc에서 xpath에 해당하는 모든 XmlElement를 리스트로 반환한다.
protected FindElements ( string xpath ) : XmlNodeList
xpath string 검색 식
return System.Xml.XmlNodeList

FindNode() public method

지정된 노드내에서 XmlNode를 찾는다.
public FindNode ( XmlNode parentNode, string xpath ) : XmlNode
parentNode System.Xml.XmlNode 부모 노드
xpath string XPATH 형식 ("ROOT")
return System.Xml.XmlNode

FindNode() public method

XmlNode를 찾는다.
public FindNode ( string xpath ) : XmlNode
xpath string XPATH 형식 ("//ROOT")
return System.Xml.XmlNode

GetAttributeNode() public method

Element 내의 지정한 이름의 Attribute를 반환한다.
public GetAttributeNode ( XmlElement node, string name ) : XmlAttribute
node System.Xml.XmlElement
name string
return System.Xml.XmlAttribute

GetElement() public method

XmlElement를 찾는다.
public GetElement ( XmlNode parentNode, string xpath ) : XmlElement
parentNode System.Xml.XmlNode
xpath string
return System.Xml.XmlElement

GetElement() public method

xpath로 검색한 XmlElement 노드를 반환한다. - XmlDoc.FindElement(string)와 같다.
public GetElement ( string xpath ) : XmlElement
xpath string 검색 식
return System.Xml.XmlElement

GetElementText() public method

parentNode를 기준으로 XmlElement를 찾아서 InnerText값을 반환한다.
public GetElementText ( XmlNode parentNode, string xpath ) : string
parentNode System.Xml.XmlNode 검색 기준이 되는 parent node
xpath string 검색 식
return string

GetElementText() public method

XmlElement를 찾아서 InnerText값을 반환한다.
public GetElementText ( string xpath ) : string
xpath string 검색 식
return string

GetElementTextArray() public method

xpath에 해당하는 XmlElement 들을 찾아서 Element의 Text 를 string array로 반환한다.
public GetElementTextArray ( string xpath ) : string[]
xpath string
return string[]

InsertElementBefore() public method

새로운 XmlElement를 refNode 앞에 추가한다.
public InsertElementBefore ( XmlElement refNode, XmlElement newNode ) : XmlElement
refNode System.Xml.XmlElement
newNode System.Xml.XmlElement
return System.Xml.XmlElement

InsertElementBefore() public method

새로운 XmlElement를 refNode 앞에 추가한다.
public InsertElementBefore ( XmlElement refNode, string xml ) : XmlElement
refNode System.Xml.XmlElement
xml string
return System.Xml.XmlElement

InsertElementBefore() public method

새로운 XmlElement를 refNode 앞에 추가한다.
public InsertElementBefore ( XmlElement refNode, string name, string text ) : XmlElement
refNode System.Xml.XmlElement
name string
text string
return System.Xml.XmlElement

IsNodeCanHaveChildNode() protected method

node가 자식 노드를 가질 수 있는지 판단한다.
protected IsNodeCanHaveChildNode ( XmlNode node ) : bool
node System.Xml.XmlNode 검사할 노드
return bool

IsValidNodeIndex() public method

속도가 느리기 때문에 사용하지 안는 것이 좋다.
public IsValidNodeIndex ( int index ) : bool
index int
return bool

IsValidTagName() public static method

Element의 TagName은 문자, '_', ':' 만 가능하다. 되도록 Element Tag Name에 특수 문자를 사용하지 마시요.
이 함수는 되도록 사용하지 마십시요. DOM을 생성해서 TEST하는 것이므로 속도가 매우 느립니다.
public static IsValidTagName ( string tagName ) : bool
tagName string Element의 TagName
return bool

RemoveElement() public method

지정된 Element를 삭제한다.
public RemoveElement ( XmlElement element ) : bool
element System.Xml.XmlElement
return bool

RemoveElement() public method

Element Node를 찾아서 삭제한다.
public RemoveElement ( XmlNode parentNode, string xpath ) : bool
parentNode System.Xml.XmlNode
xpath string
return bool

RemoveNamedItem() public method

NamedNodeMap에서 해당 node를 삭제한다.
public RemoveNamedItem ( XmlNamedNodeMap nodeMap, XmlNode node ) : XmlNode
nodeMap System.Xml.XmlNamedNodeMap
node System.Xml.XmlNode
return System.Xml.XmlNode

RemoveNamedItem() public method

NamedNodeMap(대부분 XmlAttributeCollection)에서 해당 node를 삭제한다.
public RemoveNamedItem ( XmlNamedNodeMap nodeMap, string nodeName ) : XmlNode
nodeMap System.Xml.XmlNamedNodeMap
nodeName string
return System.Xml.XmlNode

RemoveSelection() public method

xpath로 찾은 모든 XmlNode를 삭제한다.
public RemoveSelection ( string xpath ) : int
xpath string
return int

SaveFileElement() public method

File 정보를 담고 있는 XmlElement를 filename으로 저장한다.
public SaveFileElement ( XmlElement fileNode, string filename ) : string
fileNode System.Xml.XmlElement
filename string
return string

SaveFileElement() public method

File 정보를 담고 있는 XmlElement를 filename으로 저장한다.
public SaveFileElement ( XmlElement fileNode, string filename, bool overwrite ) : string
fileNode System.Xml.XmlElement 파일 Stream 을 가지고 있는 Node
filename string 저장할 파일 이름
overwrite bool 겹쳐쓰기 여부
return string

SaveToFile() public method

Xml 내용을 파일로 저장한다.
public SaveToFile ( string filename ) : void
filename string 전체 경로 명
return void

SaveToTemp() public method

Xml 내용을 System Temporary Directory에 저장한다.
public SaveToTemp ( string filename ) : void
filename string 저장할 파일명 (전체 경로가 아닌 파일명만 적는다.)
return void

SetElementText() public method

xpath로 찾은 Element의 InnerText값을 지정한다.
해당 Element를 찾지 못했을 때
public SetElementText ( string xpath, string text ) : void
xpath string XPath
text string 탐색한 XmlElement에 설정할 Text값
return void

SetNamedItem() public method

XmlNamedNodeMap에 Node를 추가한다.
public SetNamedItem ( XmlNamedNodeMap nodeMap, XmlNode node ) : XmlNode
nodeMap System.Xml.XmlNamedNodeMap
node System.Xml.XmlNode
return System.Xml.XmlNode

SetNamedItem() public method

XmlNamedNodeMap에 Node를 추가한다.
public SetNamedItem ( XmlNamedNodeMap nodeMap, string name, string value ) : XmlNode
nodeMap System.Xml.XmlNamedNodeMap
name string
value string
return System.Xml.XmlNode

XmlDoc() public method

기본 생성자
public XmlDoc ( ) : System
return System

XmlDoc() public method

stream 정보를 읽어서 XmlDocument 인스턴스를 생성한다.
public XmlDoc ( Stream stream ) : System
stream Stream 원본 Stream 객체
return System

XmlDoc() public method

생성자 ( System.Uri 개체의 AbsoluteUri 속성을 통해 XmlDocument를 생성합니다.
public XmlDoc ( Uri uri ) : System
uri System.Uri System.Uri개체
return System

XmlDoc() public method

생성자 - document을 읽어서 새로운 XmlDocument 인스턴스를 생성한다.
public XmlDoc ( XmlDocument document ) : System
document System.Xml.XmlDocument 원본 XmlDocument
return System

XmlDoc() public method

주어진 xml 문자열이 순수 XML string이거나 URI 이거나 모두 load하여 XmlDocument를 구성한다.
public XmlDoc ( string xmlText ) : System
xmlText string xml text이거나 xml 파일경로, URI 등이 된다.
return System