Giter Site home page Giter Site logo

dynamicxml's Introduction

Lightweight XML library for .NET

Use XML like dynamic object

Usage

Sample XML

<CV updated="never">
	<Personal>
		<Name>Mipo</Name>
		<Birth year="1984" month="12" day="22" />
	</Personal>
	<Jobs>
		<Job>WPF developer</Job>
		<Job>ASP.NET MVC developer</Job>
	</Jobs>
	<Experiences>
		<Experience name="JQuery" years="3" />
		<Experience name="SQL" years="5" />
	</Experiences>
</CV>

Read

// Load XML from file
dynamic xml = new XmlItem(xmlFile);

// Element value
string name = xml.Personal.Name;
string name2 = xml.Personal.Name.Value; 
Assert.AreEqual("Mipo", name);
Assert.AreEqual("Mipo", name2);

// Attribute value
string year = xml.Personal.Birth["year"];
Assert.AreEqual("1984", year);

// Element by position
var jobs = xml.Jobs();
Assert.AreEqual("WPF developer", (string)jobs[0]);
Assert.AreEqual("ASP.NET MVC developer", (string)jobs[1]);

// Find element by attribute value
var sqlExp = xml.Experiences.Experience("name", "SQL");
Assert.IsNotNull(sqlExp, "Experience not found");
Assert.AreEqual("5", sqlExp["years"], false, "Another experience found");

Write

// Load XML from file
dynamic xml = new XmlItem(xmlFile);

// Change attribute value
xml["updated"] = DateTime.Now.ToString();;

// Change element value
xml.Personal.Name.Value = "New name";

// Save changes to file
xml.Save(updatedXmlFile);

dynamicxml's People

Contributors

mipo47 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.