導航:首頁 > 文件教程 > 修改讀取xml文件

修改讀取xml文件

發布時間:2024-11-05 03:09:45

『壹』 讀取XML文件時出錯!!

<?xml version="1.0"?>
<?xml version="1.0" encoding="gb2312"?>
我做了這樣的改動才能支持中文,但是沒有出現你說的找不到第五列的問題。兩個xml都是可以正常讀取的。

我都試過啦,把後面的行刪除掉也可以再讀取阿,當然,刪除要符合xml的語法規則,不能把結構刪錯了。

『貳』 如何用java實現對xml文件的讀取和寫入以及保存

直接附源碼import java.io.FileWriter;
import java.io.IOException;
import java.util.Iterator;import org.dom4j.*;
import org.dom4j.io.XMLWriter;
public class Dom4jSample { public static void main(String[] args) {
Dom4jSample dom4jSample = new Dom4jSample();
Document document = dom4jSample.createDocument();
try{
dom4jSample.FileWrite(document);

Document documentStr = dom4jSample.StringToXML("<China>I Love!</China>");
dom4jSample.XMLWrite(documentStr);

Element legend = dom4jSample.FindElement(document);
System.out.println(legend.getText());
}
catch(Exception e)
{

}
}

/*
* Create a XML Document
*/
public Document createDocument()
{
Document document = DocumentHelper.createDocument();

Element root = document.addElement("root");

Element author1 = root.addElement("Lynch");
author1.addAttribute("Age","25");
author1.addAttribute("Country","China");
author1.addText("I am great!");

Element author2 = root.addElement("Legend");
author2.addAttribute("Age","25");
author2.addAttribute("Country","China");
author2.addText("I am great!too!");

return document;
}

/*
* Create a XML document through String
*/
public Document StringToXML(String str) throws DocumentException
{
Document document = DocumentHelper.parseText(str);
return document;
}
public Element FindElement(Document document)
{
Element root = document.getRootElement();
Element legend = null;
for(Iterator i=root.elementIterator("legend");i.hasNext();)
{
legend = (Element)i.next();
}
return legend;
}

/*
* Write a XML file
*/
public void FileWrite(Document document) throws IOException
{
FileWriter out = new FileWriter("C:/Dom2jSample.xml");
document.write(out);
out.close();
}

/*
* Write a XML format file
*/
public void XMLWrite(Document document) throws IOException
{
XMLWriter writer = new XMLWriter(new FileWriter("C:/Dom2jSampleStr.xml"));
writer.write(document);
writer.close();
}
}

『叄』 讀取配置文件失敗 怎樣讀取和處理XML的配置文件

Eclipse里在包下的配置文件(.propoties 和.xml等)編譯之後會自動復制到編譯後的文件夾中,也就是classes目錄。因此代碼可以通過路徑載入到配置文件。然而,idea對這些配置的文件方式很明顯和eclipse是不同的。在idea中有一個 Content Roots的概念。需要為每一個folder配置相應的Content Roots。Content Roots包括resources、source

『肆』 如何用MFC實現讀取和修改XML文件中的數據


MSXML2::IXMLDOMDocumentPtr pDoc;
MSXML2::IXMLDOMElementPtr xmlRoot;
HRESULT hr=pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30));

if (FAILED(hr))
{
AfxMessageBox("無法創建對象,是否安裝了MS XML運行庫");
return;
}

pDoc->raw_createElement((_bstr_t)(char*)"china",&xmlRoot);
pDoc->raw_appendChild(xmlRoot,NULL);

MSXML2::IXMLDOMElementPtr childNode;
pDoc->raw_createElement((_bstr_t)(char*)"City",&childNode);
childNode->put_text((_bstr_t)(char*)"WuHan");
childNode->setAttribute((_bstr_t)(char*)"population",CComVariant("8,000,000"));
childNode->setAttribute((_bstr_t)(char*)"area",CComVariant("10000"));
xmlRoot->appendChild(childNode);

pDoc->raw_createElement((_bstr_t)(char*)"City",&childNode);
childNode->put_text((_bstr_t)(char*)"ShangHai");
childNode->setAttribute((_bstr_t)(char*)"population",CComVariant("12,000,000"));
childNode->setAttribute((_bstr_t)(char*)"area",CComVariant("12000"));
xmlRoot->appendChild(childNode);

pDoc->save("e:\\he.xml");


MSXML2::IXMLDOMDocumentPtr pDoc;
HRESULT hr=pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30));
if (FAILED(hr))
{
AfxMessageBox("無法創建對象,是否安裝了MS XML運行庫");
return;
}
pDoc->load("e:\\he.xml");
MSXML2::IXMLDOMElementPtr childNode;
childNode=(MSXML2::IXMLDOMElementPtr)(pDoc->selectSingleNode("//City"));
MSXML2::DOMNodeType nodeType;
childNode->get_nodeType(&nodeType);
BSTR var;
childNode->get_nodeName(&var);
CString name=(char*)(_bstr_t)var;
VARIANT varVal;
childNode->get_nodeTypedValue(&varVal);
CString strValue=(char*)(_bstr_t)varVal;

MSXML2::IXMLDOMNamedNodeMapPtr pAttrs=NULL;
MSXML2::IXMLDOMNodePtr pAttrItem;
childNode->get_attributes(&pAttrs);
long nCount;
pAttrs->get_length(&nCount);
for(int i=0;i<nCount;i++)
{
pAttrs->get_item(i,&pAttrItem);
CString strAttrName=(char*)(_bstr_t)pAttrItem->nodeName;
CString strAttrValue=(char*)(_bstr_t)pAttrItem->nodeTypedValue;
AfxMessageBox(strAttrName+strAttrValue);
}

把上面的代碼放到兩個按鈕下就可以了

閱讀全文

與修改讀取xml文件相關的資料

熱點內容
網站怎麼查詢真假 瀏覽:507
視頻文件沒有圖標 瀏覽:944
文件圖標上有個鎖 瀏覽:87
ios9appstore空白 瀏覽:744
htmljs是什麼 瀏覽:852
win10自帶軟體卸載軟體卸載 瀏覽:552
蘋果刷機好多錢 瀏覽:275
mac怎麼滾動截屏網站 瀏覽:619
mtkflashtool教程 瀏覽:176
unicode代碼表 瀏覽:520
蘋果app為什麼搜不到仙劍奇俠傳了 瀏覽:198
c程序數組內存 瀏覽:589
數據線的水晶頭怎麼拆 瀏覽:462
學習編程可以干什麼兼職 瀏覽:920
linux開機啟動sh 瀏覽:133
微信網名獨立 瀏覽:607
城中村網路 瀏覽:272
夢幻誅仙微信禮包大全 瀏覽:615
蘋果7出現網路問題 瀏覽:233
ip地址網路號怎麼看 瀏覽:926

友情鏈接