SELECT TOP 10 * FROM dbo.UserInfo
FOR XML PATH('UserInfo'),ROOT ('UserList')
就会生成以下XML
PATH里面的字符串生成行标签
ROOT生成根标签
<UserList>
<UserInfo>
<UserName>administrator</UserName>
<Age>21</Age>
<NickName>小张</NickName>
......
</UserInfo>
<UserInfo>
<UserName>administrator</UserName>
<Age>21</Age>
<NickName>小张</NickName>
......
</UserInfo>
<UserInfo>
<UserName>administrator</UserName>
<Age>21</Age>
<NickName>小张</NickName>
......
</UserInfo>
......
</UserList>
1、将数据库的内容读取到dataTable或dataSet中
2、dataTable或dataSet转为xml
private string ConvertDataTableToXML(DataTable xmlDS) //DataTable可改用dataset{
MemoryStream stream = null
XmlTextWriter writer = null
try
{
stream = new MemoryStream()
writer = new XmlTextWriter(stream, Encoding.Default)
xmlDS.WriteXml(writer)
int count = (int)stream.Length
byte[] arr = new byte[count]
stream.Seek(0, SeekOrigin.Begin)
stream.Read(arr, 0, count)
UTF8Encoding utf = new UTF8Encoding()
return utf.GetString(arr).Trim()
}
catch
{
return String.Empty
}
finally
{
if (writer != null) writer.Close()
}
}
public class Test8 {class UserBean {
private String userName
private String account
private String roleName
public UserBean(String userName, String account, String roleName) {
super()
this.userName = userName
this.account = account
this.roleName = roleName
}
public String getUserName() {
return userName
}
public void setUserName(String userName) {
this.userName = userName
}
public String getAccount() {
return account
}
public void setAccount(String account) {
this.account = account
}
public String getRoleName() {
return roleName
}
public void setRoleName(String roleName) {
this.roleName = roleName
}
public String toString() {
return "<user>" + "<userName>" + userName + "</userName>" + "<account>" + account + "</account>"
+ "<roleName>" + roleName + "</roleName>" + "</user>\n"
}
}
public void printXml() {
//获取数据库数据
List<UserBean> list = new ArrayList<UserBean>()
for (int i = 0 i < 10 i++) {
UserBean user = new UserBean("User " + i, "U0000" + i, (i % 2 == 0 ? "管理员" : "普通用户"))
list.add(user)
}
//转XML
StringBuffer xml = new StringBuffer()
xml.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
xml.append("<users>\n")
for(UserBean user : list){
xml.append(user)
}
xml.append("</users>")
System.out.println(xml.toString())
}
/**
* @param args
*/
public static void main(String[] args) {
Test8 test = new Test8()
test.printXml()
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)