導航:首頁 > 數據分析 > xml是怎麼存儲數據的

xml是怎麼存儲數據的

發布時間:2023-03-22 17:15:33

⑴ C#如何往xml存入數據

呵呵 我正好信畢慧剛剛做的

引用空間
using System.IO;
using System.Net;
using System.Text;

StringBuilder htmltext = new StringBuilder();//存儲xml內容
string newsTemp = HttpContext.Current.Server.MapPath("/廣告/js/ad.XML");
Encoding code = Encoding.GetEncoding("gb2312");
try
{
using (StreamReader sr = new StreamReader(newsTemp, code))
{
String line;
while ((line = sr.ReadLine()) != null)
{

htmltext.Append(line + "\r");
}
sr.Close();
}
}

catch
{
return false;
}

//圖片新聞特效顯示
//newsds = topda.selecttupiannews();//讀取數據可以
//for (int i = 0; i < newsds.Tables[0].Rows.Count; i++)
//{
// htmltext.Replace("$focusPicurl[" + i + ",0]", newsds.Tables[0].Rows[i]["SiteUrl"].ToString());
// htmltext.Replace("$focusPicurl[" + i + ",1]"數姿, "/uploadfiles/uppic/ggpic/" + newsds.Tables[0].Rows[i]["ImagesUrl"].ToString());
// htmltext.Replace("$focusPicurl[" + i + ",2]", newsds.Tables[0].Rows[i]["Title"].ToString());
// htmltext.Replace("$focusPicurl[" + i + ",3]", newsds.Tables[0].Rows[i]["des"].ToString());

/滑答/}

using (StreamWriter sw = new StreamWriter(test, false, System.Text.Encoding.GetEncoding("gb2312")))
{

sw.WriteLine(htmltext);

sw.Flush();

sw.Close();

}
return true;

⑵ xml文件在內存中是怎麼存儲的

你可以用流的形式讀到程序中,也可以以文本的方法讀進去。文本和流都是可以相互轉換的,看你具體需要。xml處理類XmlReader.Create可以用流創建,也可以用文本創建,重載方式很多。本質上它在內存里也是以二進制形式存在的,和一般文件沒什麼區別。

⑶ 如何使用xml 存儲數據

創建一個介面

XmlInterface.java

?
public interface XmlInterface {

/**
* 建立XML文檔
* @param fileName 文件全路徑名稱
*/
public void createXml(String fileName);
/**
* 解析XML文春基改檔
* @param fileName 文件全路鋒沖徑名稱
*/
public void parserXml(String fileName);
}

介面實現

XmlImpl.java

?
package com.test.xml;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class XmlImpl implements XmlInterface{
private Document document;

public void init() {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
this.document = builder.newDocument();
} catch (ParserConfigurationException e) {
System.out.println(e.getMessage());
}
}

public void createXml(String fileName) {
Element root = this.document.createElement("scores");
this.document.appendChild(root);
Element employee = this.document.createElement("扒判employee");
Element name = this.document.createElement("name");
name.appendChild(this.document.createTextNode("wangchenyang"));
employee.appendChild(name);
Element sex = this.document.createElement("sex");
sex.appendChild(this.document.createTextNode("m"));
employee.appendChild(sex);
Element age = this.document.createElement("age");
age.appendChild(this.document.createTextNode("26"));
employee.appendChild(age);
root.appendChild(employee);
TransformerFactory tf = TransformerFactory.newInstance();
try {
Transformer transformer = tf.newTransformer();
DOMSource source = new DOMSource(document);
transformer.setOutputProperty(OutputKeys.ENCODING, "gb2312");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
PrintWriter pw = new PrintWriter(new FileOutputStream(fileName));
StreamResult result = new StreamResult(pw);
transformer.transform(source, result);
System.out.println("生成XML文件成功!");
} catch ( e) {
System.out.println(e.getMessage());
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
} catch (FileNotFoundException e) {
System.out.println(e.getMessage());
} catch (TransformerException e) {
System.out.println(e.getMessage());
}
}

public void parserXml(String fileName) {
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.parse(fileName);

NodeList employees = document.getChildNodes();
for (int i = 0; i < employees.getLength(); i++) {
Node employee = employees.item(i);
NodeList employeeInfo = employee.getChildNodes();
for (int j = 0; j < employeeInfo.getLength(); j++) {
Node node = employeeInfo.item(j);
NodeList employeeMeta = node.getChildNodes();
for (int k = 0; k < employeeMeta.getLength(); k++) {
System.out.println(employeeMeta.item(k).getNodeName()
+ ":" + employeeMeta.item(k).getTextContent());
}
}
}
System.out.println("解析完畢");
} catch (FileNotFoundException e) {
System.out.println(e.getMessage());
} catch (ParserConfigurationException e) {
System.out.println(e.getMessage());
} catch (SAXException e) {
System.out.println(e.getMessage());
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}

測試

?
public class Main {

public static void main(String args[]){
XmlImpl dd=new XmlImpl();
String str="D:/grade.xml";
dd.init();
dd.createXml(str); //創建xml
dd.parserXml(str); //讀取xml
}
}

結果

生成xml

<?xml version="1.0" encoding="GB2312"?><scores><employee><name>wangchenyang</name><sex>m</sex><age>26</age></employee></scores>復制代碼

⑷ 請問xml文件是什麼

XML是EXtensible Markup Language的縮寫XML是一種類似於HTML的標記語言XML是用來描述數據的XML的標記不是在XML中預定義的,你必須定義自己的標記XML使用文檔類型定義(DTD)或者模式(Schema)來描述數據XML使用DTD或者Schema後就是自描述的語言XML和HTML的主要區別是什麼XML是用來存放數據的XML不是HTML的替代品,XML和HTML是兩種不同用途的語言。XML是被設計用來描述數據的,重點是:什麼是數據,如何存放數據。HTML是被設計用來顯示數據的,重點是:顯示數據以及如何顯示數據更好上面。HTML是與顯示信息相關的, XML則是與描述信息相關的。

xml功能太強大了,舉幾個例子吧
1、可以做為資料庫存儲數據
讀操作:
假如你的web應用程序里有一個Procts.xml,你可以用DataSet來讀取這個xml,然後綁定到DataList,DataGrid等的控制項上
寫操作:
如果你建立一個購物車的DataTable,就可以將它寫入到xml文件中去

2、如果你會用xsl,可以將xml整合到首頁上,讓你更新網頁更容易,也很容易管理,樣式改動也方便

3、關於xml的技術太多了,xpath,xquery,xslt等等,包括語音標記、矢量圖標記等等,詳情請參照www.w3.org

4、一般的說,xml已經廣泛的應用,你用的office軟體保存的doc,xls等等的格式背後都是xml標記,一些矢量圖的軟體Visio,做出的圖形其實都是基於xml技術的,ajax技術也是基於xml技術的

5、忘了最重要的一個未來會大大發展的技術,web services,實質也是xml的一種應用

⑸ c#winform怎麼用xml存儲數據

把數據寫成XML文件,再把文件存儲到硬碟

⑹ 怎樣將xml文件存入資料庫,不是去把xml解析了或是以表格形式創建同格式的表去存儲,資料庫中的xml類型

內容不是特別多的話可以當一個字元串整個存到一個欄位裡面
當然 非常不推薦這么做

⑺ XML是一種什麼語言可以做些什麼

XML(Extensible Markup Language)即可擴展標記語言,它與HTML一樣,都是SGML(Standard Generalized Markup Language,標准通用標記語言)。Xml是Internet環境中宏尺塌跨平台的,依賴於內容的技術,是當前處理結構化文檔信息的有力工具。擴展標記語言XML是一種簡單的數據存儲語言,使用一系列簡單的標記描述數據,而這些標記可以用方便的方式建立,雖然XML佔用的空間比二進制數據要佔用更多的空間,但XML極其簡單易於掌握和使用。
XML 的優勢有以下六個方面:①XML可以從HTML中分離數據通過XML,你可以在HTML文件之外存儲數據。在不使用XML時,HTML用於顯示數據,數據必須存儲在HTML文件之內;使用了XML,數據就可以存放在分離的困吵XML文檔中。這種方法可以讓你集中精力去到使用HTML做好數據的顯示和布局上,並確保數據改動時不會導致HTML文件也需要改動。這樣可以方便維護頁面。XML數據同樣可以以「數據島」的形式存儲在HTML頁面中。你仍然可以集中精力到使用HTML格式化和顯示數據上去。②XML用於交換數據通過XML,我們可以在不兼容的系統之間交換數據。在現實生活中,計算機系統和資料庫系統所存儲的數據有N^N種形式,對於開發者來說,最耗時間的就是在遍布網路的系統之間交換數據。把數據轉換為XML格式存儲將大大減少交換數據是的復雜性,並且還可以使得這些數據能被不同的程序讀取。③XML和B2B使用XML,可以在網蔽圓絡中交換金融信息。在不遠的將來,我們可以期望看到很多關於XML和B2B(BusinessToBusiness)的應用。XML正在成為遍布網路的商業系統之間交換金融信息所使用的主要語言。許多與B2B有關的完全基於XML的應用程序正在開發中。④XML可以用於共享數據通過XML,純文本文件可以用來共享數據。既然XML數據是以純文本格式存儲的,那麼XML提供了一種與軟體和硬體無關的共享數據方法。這樣創建一個能夠被不同的應用程序讀取的數據文件就變得簡單了。同樣,我們升級操作系統、升級伺服器、升級應用程序、更新瀏覽器就容易多了。XML可以用於存儲數據利用XML,純文本文件可以用來存儲數據。大量的數據可以存儲到XML文件中或者資料庫中。應用程序可以讀寫和存儲數據,一般的程序可以顯示數據。⑤XML可以充分利用數據使用XML,你的數據可以被更多的用戶使用。既然XML是與軟體、硬體和應用程序無關的,所以可以使你的數據可以被更多的用戶、更多的設備所利用,而不僅僅是基於HTML標準的瀏覽器哦。別的客戶端和應用程序可以把你的XML文檔作為數據源來處理,就像他們對待資料庫一樣,你的數據可以被各種各樣的「閱讀器」處理,這時對某些人來說是很方便的,比如盲人或者殘疾人。⑥XML可以用於創建新的語言XML是WAP和WML語言的母親。無線標記語言,用於標識運行於手持設備上的Internet程序。

⑻ xml標簽的正確使用

最近一直在學習xml相關的知識,為了知識的積累以及方便以後查閱,寫了這篇關於xml的文章,同時也為正在學習xml標簽的網友或者對xml知識感興趣的,這篇文章不容錯過。

首先我們需要了解的是xml是什麼,它能做什麼事情以及如何去學習它

xml全稱 Extensiable markup language. 譯為可擴展標記語言 可擴展也就是標簽可以自定義
這也是和html的區別之一

在講解xml知識之前我們先來做下對比xml與html到底有哪些區別
1.xml標簽是自定義的,html標簽是預定義
2.xml語法嚴格,html語法鬆散
3.xml存儲數據,html展示數據

在軟體開發中,我們可以使用xml來存儲數據
儲存方式有兩種
1.存儲文件
2.網路中傳輸

基本語法
1.xml文檔的後綴名,.xml
2.xml的第一行必須定義文檔申明 <?xml version=『1.0』?>文檔申明
3.xml文檔有且僅有一個根標簽
4.屬性值必須用引號引起來』』或唯激「」
5.標簽指返襪必須正確關閉
6.xml標簽名稱區分大小寫

1.格式<?xml屬性列表?>
屬性列表:
version:版本
encoding:編碼方式 告知解析引擎 當前文檔使用的字元集 默認值ISO-8859-1
standalone :是否獨立
取值:yes:不依賴其他文件 no:依賴其他文件

結合css來控制標簽的樣式<?xml-stylesheet type=「text/css」 href=「xxx」?>

1.規則:
* 名稱可以含字母、數字以及其他的字元
* 名稱不能以數字或者標點符世攔號開始
* 名稱不能以字元 「xml」(或者 XML、Xml)開始
* 名稱不能包含空格

id屬性值唯一

cdata區格式:在該區域中的數據會被原樣展示
格式<![CDATA[{

首先我們先來看下約束的解析圖

作為框架的使用者(程序員)
1.能夠在xml中引入約束文檔
2.能夠簡單的讀懂約束文檔

DTD技術
Schema:一種比較復雜的約束

DTD:
引入dtd文檔到xml文檔中
內部的dtd:將約束規則定義在xml文檔中
一種是外部的dtd:將約束的規則定義在外部的dtd文件中
1.本地:<!DOCTYPE 根標簽名 SYSTEM 「dtd文件的位置」>
2.網路:<!DOCTYPE 根標簽名 PUBLIC 「dtd文件名字」 「dtd文件的位置URL」>

操作xml文檔
1.解析(讀取):將文檔中的數據讀取到內存中,
2.寫入:將內存中的數據保存到xml文檔中,持久化的存儲

1.DOM:將標記語言文檔一次性載入到內存,在內存中形成一顆DOM樹

優點:操作方便,可以對文檔進行CRUD的所有操作
缺點:占內存

2.SAX:逐行讀取,基於事件驅動的
優點:不佔內存
缺點:只能讀取,不能增刪改

xml常見的解析器:
1.JASP:sun公司提供的解析器 支持dom和sax思想
2.DOM4J:一款非常優秀的解析器
3.jsoup:jsoup 是一款Java 的HTML解析器,可直接解析某個URL地址、HTML文本內容。它提供了一套非常省力的API,可通過DOM,CSS以及類似於jQuery的操作方法來取出和操作數據
4:PULL:android操作系統內置的解析器

快速入門:
步驟:
1.導入相關的jar包
2.獲取document對象
3.獲取對應的標簽Element對象
4.獲取數據

這里我以jsoup為例

對象的使用

1.jsoup:工具類,可以解析html或xml文檔,返回document
parse:解析html或xml文檔,返回document
parse(File in,String charset);解析html或xml文檔的
parse(String html)解析html或xml字元串
parse(Url url, int timeoutMills)通過網路路徑獲取指定的html或xml的文檔對象

2.Document:文檔對象,代表文檔中的dom樹 獲取Elements對象
getElementById(String id),根據id屬性值獲取唯一的element對象
getElementsByTag(String tagName)根據標簽名稱獲取元素對象集合
getElementsByAttribute(String key) 根據屬性名稱獲取元素對象集合
getElementsByAttributeValue(String key,String value)根據對應的屬性名和屬性值獲取元素對象集合

3.Elements:元素Element對象的集合,可以當作ArrayList<Element> 來使用
4.Element:元素對象
1.獲取到它的子元素對象

5.Mode:節點對象
是document和element的父類

快速查詢方式:

1.selector選擇器

使用方法:Elements select(String cssQuery)

語法:參考Selector類中定義的語法

2.xpath: XPath 即為 XML 路徑語言(XML Path Language),它是一種用來確定XML文檔中某部分位置的語言。

語法
// 查詢所有元素1標簽

//元素1/元素2。查詢所有元素1中的所有元素2

帶有id屬性的標簽

//元素1/元素2[@id]

帶有id屬性值的標簽元素1/元素2[@id=『屬性值』]

使用Jsoup的Xpath需要額外的導入jar包

查詢w3c參考手冊,使用xpath的語法完成

⑼ .XML是什麼文件

.XML文件一般指裡面寫有可擴展標記語言的文件。

XML:可擴展標記語言,標准通用版標記語言的子集,是一權種用於標記電子文件使其具有結構性的標記語言。它被設計用來傳輸和存儲數據。

XML,是Extensible Markup Language 的縮寫。在.NET框架中XML是非常重要的一部分,它用於描述數據,是當前處理結構化文檔信息的有力工具。XML與操作系統、編程語言的開發平台無關,可以實現不同系統之間的數據交互!

XML 是各種應用程序之間進行數據傳輸的最常用的工具。

(9)xml是怎麼存儲數據的擴展閱讀:

XML語言的特點:

1、XML中的每對標記通常被稱為節點,他們是成對出現而且必須是成對出現的,用來描寫這個節點存儲的內容。在節點中存儲該節點的信息。

2、XML中用於描述數據的各個節點可以自由擴展,也就是說XML用於描述信息的標記不是固定不變的。例如可以在一個demo中對每個員工的信息進行詳細擴展,如:身高,體重等。

3、XML文件中的節點區分大小寫,例如<Name></Name>和<name></naem>,即使兩個節點存儲的內容相同 ,XML也認為他們是兩個不同的節點。

參考資料來源:網路-可擴展標記語言

⑽ 關系資料庫中如何存儲xml數據

XML文檔的一個普通存在的問題是如何持久保存(Persist) XML文檔。在一個關系資料庫中存儲XML文檔是一個非常常用的方法,因為當前關系資料庫的使用非常廣泛。
將XML文檔插入到資料庫中不是簡單的方法,這其中需要很多其它額外的考慮。現在我提供了一些技巧,你可以使用這些技巧在關系資料庫中存儲XML文檔。
1、文檔表:
一個最簡單和容易的方法是,在一個具有單一文本域的資料庫中建立一個表,由此你可以在表中存儲XML數據。由於這些特定資料庫和特定XML文檔,這一文本域可以是一個二進制大型對象(BLOB,binary large object)。有些資料庫需要存儲的是大量的BLOB數據而不是文本。
這一方法的優點是,將數據存入表中變得相當簡單,而且重新獲得也同樣很容易。這種文檔表的管理也很方便。
這種方法的缺點在於你將可能無法進行一些有用的文本搜索,並且在放置特定文檔時也會碰到困難,因為沒有任何方法來識別表中的文檔;
2、主鍵表:
下一個比較復雜的方法是使用一個主鍵表(keyed table)。這種方法與文檔表非常相似,但此時你的表中包含兩個域:一個唯一的主鍵和XML文檔。使用這種方法,你既可以具有存儲和獲得整個XML文檔的簡潔性,也可以使用一些管理這些唯一主鍵的復雜操作;
建立主鍵的一種通用方法是使用XML文檔中的MD5求和檢驗。請記住如果你想在表中包括多份XML文檔,這一方法遠不足夠。在這種情況下,你可以添加額外的key fields標識鍵列。
與文檔表一樣,主鍵表很容易執行,它可以在表中查找特定的文檔。然而,與文檔表一樣,你仍然不能執行任何文本查詢;
3、有限離散表:
這一方法更加復雜,但它給你帶來更多的靈活性。使用有限離散表,你可以建立用於存儲有限分散的XML信息的表,這是什麼意思?請看以下的例子:
假設你具有一個順序文檔。在文檔的根部(Root)有一個Order元素,這一元素包括CustomerInfo, ItemInfo, 以及hippingInfo元素。在資料庫中,你可以建立一個OrderDoc表,表中包含一個ID域,一個CustomerInfoId域,一個ItemInfoId域,一個ShippingInfoId域。然而,你還可以建立一個CustomerInfoId表,一個ItemInfoId表,一個ShippingInfoId表。這些表都包含很多信息相關的各自的ID域,這些信息包括用戶,選項,郵寄信息。在這一表中,還包含著其它額外的等級。比如,CustomerInfo表包含AddressInfo域,即從AddressInfo表中引用的入口。
這種方法的優點是,允許你更緊密地建立XML數據的模型。這種方法使得你進行數據的一些成熟的查詢。它也使得數據的使用性更強,因為你不再需要XML分析器來讀取數據。
不足之處是這種方法需要更多的精力來開發和維護。這意味著每一文檔都需要解析成分離的部分,然後存儲在資料庫中。如果這一過程沒有得以很好管理,有可能會丟失一些數據。而且,這也意味著,當從一個資料庫中獲得一個XML文檔時,你不得不連接這些分散的部分。

閱讀全文

與xml是怎麼存儲數據的相關的資料

熱點內容
網站編輯需要會什麼 瀏覽:622
單片機程序計數器的功能 瀏覽:917
網路攝像頭怎麼接虛擬儲存器 瀏覽:84
好壓IMG壓縮文件轉換成光碟 瀏覽:588
前端json格式如何排序 瀏覽:821
ocx實現選擇保存文件 瀏覽:986
office2007教程免費下載 瀏覽:489
pop編程是什麼 瀏覽:760
三星升級系統聯接失敗 瀏覽:929
微信忘記獨立密碼 瀏覽:555
spike如何編程 瀏覽:503
javajlabel位置 瀏覽:728
如何用大數據做企業 瀏覽:656
復合編程用什麼軟體最好 瀏覽:505
txt轉換word 瀏覽:797
java字面值的存儲 瀏覽:261
nodejs創建文件夾錯誤 瀏覽:484
c語言編程為什麼關閉了 瀏覽:245
相冊的數據清理了怎麼恢復 瀏覽:775
微信文件管理換路徑了以前聊天記錄沒有 瀏覽:310

友情鏈接