C\#XML 생 성의 세 가지 경로 소결
XmlDocument doc = new XmlDocument();
try
{
doc.Load("new.xml");
}
catch
{
XmlTextWriter xtw = new XmlTextWriter("new.xml", Encoding.UTF8);
// XML
xtw.WriteStartDocument();
xtw.WriteStartElement("gnode");
// gnode
xtw.WriteStartElement("myxm1");
// gnode myxmls
xtw.WriteEndElement();
xtw.WriteEndElement();
xtw.WriteEndDocument();
xtw.Close();
doc.Load("new.xml");
}
XmlNode xn = doc.DocumentElement;
//
XmlElement xe = doc.CreateElement("myxml2");
// , , XmlAttribute;
xe.InnerText = "hahaha";
// ( )
xn.AppendChild(xe);
//
doc.Save("new2.xml");
// XmlDocument
}
주의 점:새 루트 노드 를 만 들 때 Write Start Element 는 끼 워 넣 을 수 있 습 니 다.즉,하나의 노드 만 있 을 수 있 습 니 다.2。데이터베이스 에 적용 하여 데이터베이스 의 DataSet 대상 의 값 을 XML 파일 의 요 소 를 생 성 합 니 다.
using (SqlConnection con = new SqlConnection("Server=.;DataBase=HGSTUDY;uid=sa;pwd=yao"))
{
con.Open();
SqlCommand command = new SqlCommand("select * from GL_STUDY", con);
command.CommandType = CommandType.Text;
DataSet ds = new DataSet("DATASET");
//DATASET XML , NewDataSet
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = command;
sda.Fill(ds, "DATATABLE");
//DATATABLE XML , Table。
ds.WriteXml("dbxml.xml");
// DataSet WriteXml XML , 。 , ds.GetXML()
}
3。XmlSerializer 를 이용 하여 클래스 의 속성 값 을 XML 파일 의 요소 값 으로 변환 합 니 다.XML 문서 의 xml Attribute 나 xml Element 로 문자열 을 사용 합 니 다.[그 요소 나 속성 은 클래스 의 정의 로 설정 합 니 다(xml 직렬 화)]using System;System.xml.Serialization;
3.1.클래스 를 초기 화하 고 속성 값 을 설정 합 니 다.
[XmlRoot("Truck")]
//---- XML
public Truck()
{ }
[XmlAttribute("id")]
//-------- xml
public int ID
{
get{return this._id;}
set { this._id = value; }
}
[XmlElement("chepai")]
//------ XML ( )
public string cheID
{
get {
return this._cheID;
}
set {
this._cheID = value;
}
}
private int _id = 0;
private string _cheID = "";
3.2.XmlSerializer 인 스 턴 스 생 성
class XXX {
XmlSerializer ser = new XmlSerializer(Type.GetType("forxml.truck"));
Truck tr = new Truck();
tr.ID = 1;
tr.cheID = " A T34923";
}
3.3.Serialize 방법-클래스 직렬 화 완성 XmlTextWriter xtw = new XmlTextWriter("myxml.xml",Encoding.UTF8);
XmlTextWriter 로 XML 파일 만 들 기 ser.Serialize(xtw, tr); 표시 만 하려 면 ser.Serialize(Console.Out,tr)를 직접 사용 할 수 있 습 니 다.}
개인 적 으로 정리 하면 여기 서 세 가지 방법 만 서술 하고 유연 하 게 응용 하면 좋 습 니 다.직접 입력 하거나 데이터 베이스 나 유형 을 통 해 모두 가능 합 니 다.C\#에서 XML 생 성 에 사용 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.