1. 程式人生 > >wpf的xml配置檔案的讀與寫(二)

wpf的xml配置檔案的讀與寫(二)

昨天是想做一個通用的讀與寫的東西,可是今天突然發現我要用的沒有那麼通用性,後來在Vector的幫助下還是完成了,謝謝vector。
using System.IO;
using System.Xml;
這兩個標頭檔案是不可能少的,其實系統會提示的,但是你要確保你寫的方法名是沒有錯誤的不然你就急吧。

 class ConfiguFile
    {
        string _xmlPath;

        public ConfiguFile(string xmlPath)
        {
                    _xmlPath = Path.GetFullPath
(xmlPath); } public void Write(string value, List<NodeInfo> nodefo, string Fullvalue) { //初始化xml XmlDocument xmlDoc = new XmlDocument(); XmlDeclaration dec = xmlDoc.CreateXmlDeclaration("1.0", "GB2312", null); xmlDoc.AppendChild
(dec); //建立一個根節點(一級) XmlElement root = xmlDoc.CreateElement(value); xmlDoc.AppendChild(root); XmlElement LastSet11 = xmlDoc.CreateElement("Edge"); LastSet11.SetAttribute("Name", Fullvalue); // LastSet11.SetAttribute("Height", nodefo[0
].heigh.ToString()); root.AppendChild(LastSet11); for (int i = 0; i < nodefo.Count(); i++) { XmlElement LastSet = xmlDoc.CreateElement("Node"+i.ToString()); LastSet.SetAttribute("LeftX", nodefo[i].leftx.ToString()); LastSet.SetAttribute("LeftY", nodefo[i].lefty.ToString()); LastSet.SetAttribute("Width", nodefo[i].width.ToString()); LastSet.SetAttribute("Height", nodefo[i].heigh.ToString()); LastSet.SetAttribute("AreaNumber", nodefo[i].number.ToString()); root.AppendChild(LastSet); } //儲存 xmlDoc.Save(_xmlPath); Console.Write(xmlDoc.OuterXml); } public void Read(List<NodeInfo> nodefo) { string xmlPath = AppDomain.CurrentDomain.BaseDirectory; XmlDocument doc = new XmlDocument(); doc.Load(_xmlPath); for (int i = 0; i < nodefo.Count; i++) { //&& doc.DocumentElement["Node"].HasAttribute("LeftY") // && doc.DocumentElement["Node"+i.ToString()].HasAttribute("Width") && doc.DocumentElement["Node"+i.ToString()].HasAttribute("Height") // && doc.DocumentElement["Node"+i.ToString()].HasAttribute("AreaNumber")) if (doc.DocumentElement["Node" + i.ToString()].HasAttribute("LeftX") && doc.DocumentElement["Node" + i.ToString()].HasAttribute("AreaNumber") && doc.DocumentElement["Node" + i.ToString()].HasAttribute("Height") && doc.DocumentElement["Node" + i.ToString()].HasAttribute("Width")) { // nodefo[i].leftx = Convert.ToInt32(doc.DocumentElement["Node" + i.ToString()].Attributes["LeftX"].Value); nodefo[i].leftx = Convert.ToInt32(doc.DocumentElement["Node" + i.ToString()].Attributes["LeftX"].Value)*10; nodefo[i].lefty = Convert.ToInt32(doc.DocumentElement["Node" + i.ToString()].Attributes["LeftY"].Value) * 10; nodefo[i].width = Convert.ToInt32(doc.DocumentElement["Node" + i.ToString()].Attributes["Width"].Value) * 10; nodefo[i].heigh = Convert.ToInt32(doc.DocumentElement["Node" + i.ToString()].Attributes["Height"].Value) * 10; nodefo[i].number = Convert.ToInt32(doc.DocumentElement["Node" + i.ToString()].Attributes["AreaNumber"].Value); } }

說一下自己想明白 的問題吧,首先知識要有針對性的,自己一直都是什麼都看,現在發現什麼都會一點,坑坑,
關於名字,要求不能有特殊的字元,有/線什麼的啊,後來發現一個解決辦法
這裡寫圖片描述
其它的就沒有什麼了。

using System;
using System.IO;
using System.Xml;

public class Sample
{
  public static void Main()
  {
    XmlDocument doc = new XmlDocument();
    doc.LoadXml("<book genre='novel' ISBN='1-861001-57-5'>" +
                "<title>Pride And Prejudice</title>" +
                "</book>");

    XmlElement root = doc.DocumentElement;

    // Change the value of the first attribute.
    root.Attributes[0].Value="fiction";

    Console.WriteLine("Display the modified XML...");
    Console.WriteLine(doc.InnerXml);
  }
}

相關推薦

wpf的xml配置檔案

昨天是想做一個通用的讀與寫的東西,可是今天突然發現我要用的沒有那麼通用性,後來在Vector的幫助下還是完成了,謝謝vector。 using System.IO; using System.Xml; 這兩個標頭檔案是不可能少的,其實系統會提示的,但是你要

Spring Boot 配置檔案 ymlproperties

1、配置檔案 SpringBoot使用一個全域性的配置檔案,配置檔名是固定的; •application.properties •application.yml 配置檔案的作用:修改SpringBoot自動配置的預設值;SpringBoot在底層都給我們自動配

jfinal的配置檔案例項詳解

1、去官網下載最新的jar包(我這是JFinal-lib-2.2) tomcat+mysql 所需要的jar 2、配置web.xml <filter> <filter-name>jfinal</filter-name>

shp系列——利用C++進行shp檔案開啟建立開言

部落格背景和目的 最近在用C++寫一個底層的東西,需要讀取和建立shp檔案。雖然接觸shp檔案已經幾年了,但是對於shp檔案內到底包含什麼東西一直是一知半解。以前使用shp檔案都是利用軟體(如ArcGIS)直接開啟,儲存;建立檔案則需要專門利用ArcToolBox等建立圖形。  網

【 I/O流】檔案輸入輸出Scanner& Scanner和io流有何區別?(待填坑)

對檔案進行讀取,僅需要用File物件構造一個Scanner物件Scanner in= new Scanner(Paths.get("myfile.tet"),"UTF-8");如果檔名中含反斜槓符號,需要在每個反斜槓之前加一個額外的反斜槓如:“c:\\mydirectory\

模擬器夜神的安裝配置使用

今天在使用模擬器執行studio專案時發現genymotion不能安裝成功就試了下夜神模擬器,看到網上的一位老哥寫的挺好的,這裡我就不重複敘述了,直接上了連結: https://blog.csdn.net/qq_34966519/article/details/51857967

Java Web 學習總結Servlet核心介面+Servlet3.0配置

  Servlet3.0版本對Servlet配置進行了重大變革,Servlet類不需要再麻煩的去編輯web.xml檔案了,只需要在類上面進行註釋就可以了,獲得了 Java 社群的一片讚譽之聲,以下是新增的註解支援。 @WebServlet @WebServlet 用於將一個類宣告為 Servlet,該註解

cramfs檔案系統製作移植

[ [email protected] ]# bootm ## Booting kernel from Legacy Image at 30008000 ...    Image Name:   Linux Kernel    Created:      2013-04-23  12:05:15

騰訊雲伺服器的配置部署:MySQL的配置安裝、雲伺服器雲資料庫的連線

MySQL的配置安裝、雲伺服器與雲資料庫的連線 【系統、環境】 電腦作業系統:Windows10 64位 伺服器詳情: 所屬專案:微信小程式 開發語言:PHP 5.6.27 作業系統:CentOS 7.2 64位 【前言】 這篇部落格主

C# 之 FTP伺服器中檔案上傳下載

        通過上一篇部落格《C# 之 FTP伺服器中檔案上傳與下載(一)》,我們已經建立好了一個FTP伺服器,並且該伺服器需要使用者名稱和密碼的驗證。今天我們來實現檔案的上傳。 首先,我們前臺需要一個FileUpload控制元件和一個Button控制元件 <

Linux程序理解實踐殭屍&孤兒程序 和檔案共享

孤兒程序與殭屍程序 孤兒程序:    如果父程序先退出,子程序還沒退出那麼子程序的父程序將變為init程序。(注:任何一個程序都必須有父程序) #include <stdio.h> #include <stdlib.h> #include <

SDWebImage原始碼第二天的收穫思考

4.如果找到了就直接顯示給當前檢視,如果沒有找到就就去通過操作佇列進行下載。 那麼接下來我們看一下是如何下載的? 思考? 如果不做

mysql大數據備份還原

mysql備份 還原 備份工具使用xtrabackup mysql大數據備份和增量備份及還原Xtrabackup實現是物理備份,而且是物理熱備目前主流的有兩個工具可以實現物理熱備:ibbackup和xtrabackup ;ibbackup是需要授權價格昂貴

JVM高級特性實踐:對象存活判定算法引用 回收

添加 引用計數器 程序計數器 正文 bmc 進入 block 結構 內存 關於垃圾回收器GC(Garbage Collection),多數人意味它是Java語言的伴生產物。事實上,GC的歷史遠比Java悠遠,於1960年誕生在MIT的Lisp是第一門真正使用內存動態分配和垃

Spring Boot 揭秘實戰 數據存儲篇 - 聲明式事務管理

public rollback long tar jpa oid config 新的 autowire 文章目錄 1. 聲明式事務 2. Spring Boot默認集成事務 3. 實戰演練4. 源代碼 3.1. 實體對象 3.2. DAO 相關 3.3. Service

mybatis批量增加刪除——

space str val Coding 安全知識 src odi pri 題集 1.首先應該明白,mybatis增刪改返回值是int型的影響行數的值 mapper接口 package cn.xm.mapper; import java.util.Lis

讀書筆記--C陷阱缺陷

ase 結果 erro bit 使用 功能 錯誤 多層 gnu 第二章 1. 理解函數聲明 書中分析了復雜的類型聲明方式,也說明了使用typedef聲明會更好理解,推薦大家使用typedef進行函數聲明。 書中類型分析一層一層挖掘,讓讀者可以理解多層嵌套的類型含義,有

MySQLOracle---日期對比MySQL

val replace nbsp rac oracl 日期 align mysql datetime MySQL與Oracle的日期函數對比(一) 一、SQL 短日期格式:yyyy-m-d SELECT REPLACE(CONVERT(varchar(10),getda

前端工程化思考實踐

run test 代碼 -m link 本地 生成頁面 函數 說我 4. 前端工程化開發實踐 由於Nodejs 、npm的環境搭建往上很多,這裏就不過多介紹它們了。 這裏我們將更多介紹FIS3、RequireJS 、r.js。 4.1 模塊化開發:

SQL註入漏洞的分析利用

manage 如果 得到 nio 學習筆記 sql註入 .com 密碼 vpd Access手工註入 1.實驗環境:實驗平臺:小旋風ASPWeb服務器目標網站:南方數據2.02.打開網站,隨意點開一個頁面看到?id=4說明有參數傳遞,用的是get方法,可能是一個註入點加入判