C는 XML 데이터 추출 작업을 하고 있습니다. XML 작업 방법 - 온라인 서비스 및 XML 편집기에 대한 개요입니다. 새 항목 추가

언어는 아들이 아니라 생각의 아버지이다.
오스카 와일드

약어 XML Extensible Markup Language의 약자로 "확장 가능한 마크업 언어"로 번역됩니다. 좋다 HTML 언어, 이는 마크업 언어의 "할아버지"인 SGML(Standard General Markup Language)의 하위 집합입니다. 우리는 XML 형식을 두 번 이상 접했습니다. 이것은 형식입니다 구성 파일, 객체 데이터 소스를 설명하는 파일입니다.

XML은 계층적 데이터를 표현하고 통합하는 데 사용할 수 있는 정보를 설명하기 위한 플랫폼 독립적인 범용 표준입니다. 전송된 정보. 이에 대한 지식 없이는 SOAP와 웹 서비스를 이해하는 것이 불가능합니다. XML은 인터넷상의 데이터 전송을 위한 사실상의 표준이 되었습니다. XML 및 관련 형식 표준은 W3C(World Wide Web Consortium)에서 정의됩니다. 예를 들어, 우리는 HTML과 XML 사이의 전환인 XHTML 형식으로 aspx 페이지를 생성합니다. 이 형식의 표준은 W3C에서도 정의됩니다. XHTML 표준은 XML 규칙과 유사하게 문서의 올바른 구성에 대해 더 엄격한 규칙을 적용합니다.

XML과 HTML의 주요 차이점을 이해해 봅시다. XML은 데이터를 설명하고 그것이 정확히 무엇인지에 초점을 맞추도록 설계되었습니다. HTML은 데이터를 표시하도록 설계되었으며 데이터가 어떻게 보이는지에 중점을 둡니다. 전통적인 HTML에서 "표현"과 "시각화"의 개념이 종종 혼동되는 경우 XML로 작업할 때 이러한 개념을 명확하게 구분합니다. XML 태그는 HTML 태그와 달리 언어 작성자가 미리 정의하지 않습니다. 각 문서 작성자는 자신의 태그를 정의합니다.

표준에서는 오류가 발생하면 XML 문서를 처리하는 프로그램을 중지해야 한다고 요구합니다. 그리고 브라우저가 HTML에서 불분명한 태그를 감지하거나 닫는 태그가 없음을 감지하면 이를 무시합니다.

XML 문서의 시작 부분에는 해당 선언 또는 프롤로그가 항상 나타납니다. 이는 준수하는 XML 표준의 버전을 지정합니다.

XML의 오류입니다.

태그에는 속성이 있을 수 있습니다. 속성 값은 따옴표로 묶어야 합니다. 속성의 순서는 중요하지 않습니다. 여는 태그와 닫는 태그 사이에 텍스트가 있을 수 있습니다. XML은 텍스트에 있는 모든 공백을 유지합니다. 텍스트가 없으면 약식 표기법을 사용할 수 있습니다. 예제 XML 태그:

이는 태그의 짧은 형식입니다.

뭔가 생각나는 게 있나요? ASP.NET 요소를 설명하는 규칙은 완전히 동일합니다.

네임스페이스를 정의하는 xmlns 속성이 있습니다. 그 값은 무엇이든 될 수 있습니다 고유한 이름. URL은 고유하기 때문에 사용하기로 합의했습니다. 네임스페이스는 혼동하지 않도록 .NET Framework에서의 사용과 유사한 의미를 갖습니다. 같은 이름, 다른 개발자가 사용합니다. 네임스페이스 이름은 콜론으로 이름과 구분됩니다.

XML 파일은 단일 루트가 있는 트리로 표현될 수 있는 계층적 정보를 나타냅니다.

모든 구문 요구 사항을 충족하는 XML 문서를 올바른 형식의 XML 문서라고 합니다. 설명을 위해 XML 데이터 DTD(Document Type Definition) - 문서 유형 정의를 사용합니다. 파일이 DTD와 일치하면 유효한 것으로 간주됩니다.

브라우저 IE 6.0, FireFox 1.5는 구문 강조 기능을 사용하여 XML 파일을 표시합니다. 상위 노드를 확장하고 닫을 수 있습니다. 예를 들어, 닫히면 BirthDay.xml 파일의 루트 노드는 다음과 같습니다.

개발 환경 비주얼 스튜디오 VWD Express는 편집 중에 XML 문서의 정확성을 바로 확인합니다.

AdRotator

제어 요소 AdRotator광고 배너를 표시하고 자동으로 다른 배너로 교체할 수 있습니다. 배너 자체는 XML 파일이나 기타 데이터 소스에 설명되어 있습니다. 페이지를 새로 고칠 때마다 광고가 업데이트됩니다. AdvertismentFile 속성은 XML 파일의 이름을 지정합니다. XML 파일의 뼈대는 다음과 같습니다.

광고 노드 내부에는 노드가 있습니다.

이러한 노드에는 5개의 속성이 있으며 모두 선택 사항입니다.

AdvertismentFile 파일의 예는 Ads.xml입니다.

고정.gif http://www.im.am 무료 호스팅 40 호스팅 로고2.jpg http://www.nv.am 신문 "뉴 타임" 50 소식 여름.jpg http://www.utro.ru 가수 자스민이 남편에게 구타당했습니다! 100 노란색 뉴스

컨트롤 요소가 페이지에 배치됩니다. 해당 AdvertisingFile 속성은 이 파일을 가리킵니다.

키워드 속성이 설정된 경우 컨트롤은 해당 콘텐츠와 일치하는 광고만 표시합니다. 동적으로 변경될 수 있으므로 사용자의 요구에 맞게 광고를 맞춤화할 수 있습니다. 키워드는 광고 파일에 한 번 이상 나타나야 합니다. 그렇지 않으면 광고 대신 빈 직사각형이 표시됩니다.

이전 버전의 ASP.NET에서는 XML 파일로만 작업할 수 있었습니다. 이제 데이터 소스 제어에 바인딩하여 모든 데이터 소스를 사용할 수 있습니다. 이 경우 ImageUrlField, NavigateUrlField 및 AlternateTextField 속성에 소스 필드를 3개 이상 지정해야 합니다.

문서 변환 파일

CSS(Cascading Stylesheets)는 HTML 파일의 형식을 지정하는 데 자주 사용되는 것으로 알려져 있지만 브라우저는 특정 모양을 모든 태그와 연결하므로 이것이 필요하지는 않습니다. 요소

단락을 설정합니다 - 굵은 글꼴 - 브라우저는 글꼴을 표시하는 방법을 알고 있습니다.

XML은 미리 정의된 태그를 사용하지 않으므로 그 의미는 무엇이든 될 수 있습니다.

HTML 테이블을 의미할 수도 있고 나무 테이블을 의미할 수도 있습니다. 따라서 브라우저는 XML 문서를 "있는 그대로" 표시합니다. XML 문서에 CSS 파일을 지정할 수도 있지만 이는 권장되지 않습니다.

XML 문서의 표시 형식을 설정하려면 스타일 시트가 사용됩니다. XSL. XSL- 확장 가능한 스타일시트 언어는 CSS보다 기능이 훨씬 풍부합니다. XSL은 단순한 스타일 시트 그 이상입니다.

프로그래밍 방식을 포함하여 동일한 XML 파일을 다른 XSL 테이블에 연결할 수 있습니다.

XSL은 세 부분으로 구성됩니다.

  1. XSLT - XML ​​문서를 변환하는 방법
  2. XPath - XML ​​요소의 부분과 경로를 지정하는 방법
  3. XSL 서식 지정 개체 - XML ​​문서 서식 지정 방법

XSL의 가장 중요한 부분은 XSLT 변환 언어입니다. XSL 문서를 다른 문서 유형이나 다른 XSL 문서로 변환하는 데 사용됩니다. XSLT는 XSL 문서를 HTML 형식으로 변환하는 데 자주 사용됩니다.

XSLT 문서를 생성하려면 파일 생성 대화 상자에서 XSLT 파일을 선택합니다. VS 2005는 스타일시트 프레임워크를 생성합니다. 스타일 시트는 그 자체가 XML 문서이기 때문에 XML 선언으로 시작됩니다.

CSS를 공부했다면 스타일 규칙이 사용된다는 것을 알고 있을 것입니다. 규칙은 선택기와 중괄호로 묶인 스타일 문으로 구성됩니다.

이 태그에는 템플릿 HTML 파일이 포함되어 있습니다. 이 주석은 XSL 요소를 여기에 삽입해야 함을 상기시켜 줍니다.

예제를 사용하여 XSLT 파일을 생성하는 방법을 살펴보겠습니다. App_Data 폴더에 XML 파일 "Quotes.xml"을 생성합니다.

우리는 최고를 원했지만 언제나 그렇듯이 결과가 나왔습니다. 빅터 체르노미르딘 아메리카는 콜럼버스가 발견했기 때문에 붙여진 이름이다. 조지 엘고지 내가 학교에 가지 않았다면 얼마나 많은 것을 배웠을지 생각하면 화가 난다. 조지 버나드 쇼 생각하지 않기 위해 많은 것이 발명되었습니다. 카렐 차페크 진실을 말하면 조만간 잡힐 것입니다. 오스카 와일드 그 전에 교수형을 당하지 않았다면 그는 대통령이 되어야 합니다. 마크 트웨인

각 XML 요소에 대한 XSLT 변환을 출력하려면 xsl:for-each XSL 태그를 사용하십시오. :for-each 요소는 XML 문서에서 요소를 찾고 각 요소에 대해 패턴을 반복합니다.

xsl:for-each 요소 내에 있어야 하는 xsl:sort 태그를 사용하여 데이터를 정렬할 수 있습니다.

변환 파일의 최종 모습은 다음과 같습니다.

유명한 인용문

인용하다 작가


브라우저에서 문서 변환 결과를 보려면 XML 선언 뒤에 선언을 포함하십시오.

,

또는 XML 메뉴에서 XML 출력 표시를 선택하고 변환 파일을 지정합니다.

동일한 XML 문서는 다른 XSL 파일을 사용하여 변환될 수 있습니다.

격언의 대가





결과는 수평선으로 구분된 인용문이 됩니다.

문서 스키마 정의 파일

현대 표준에 따르면 유효한 문서는 관련 파일과 일치해야 합니다. XSD(XML 스키마 정의) - 특정 언어를 정의하는 XML 스키마 정의 파일입니다. 즉, 문서에 나타날 수 있는 요소와 유형을 설명합니다. XSD 스키마는 DTD(문서 유형 정의)를 대체하기 위한 것입니다. 차이점은 XSD 파일 자체도 XML 구문을 사용한다는 것입니다. XSD 스키마를 사용하면 허용되는 태그, 필수 여부, 문서에서 반복 가능 여부 등을 결정할 수 있습니다. 따라서 XML은 데이터를 설명하고 XSD는 이 데이터 또는 메타데이터의 구조를 설명합니다. 프로그래밍 용어에서 XSD는 유형에 대한 설명이고 XML 파일은 해당 유형의 개체를 설명합니다. XSD 1.1 표준의 작업 초안은 http://www.w3.org/TR/2003/WD-xmlschema-11-req-20030121/에서 확인할 수 있습니다.

스키마 정의 파일은 네임스페이스 접두사에 대한 설명으로 시작되며, 이는 파일의 모든 요소에 포함됩니다. http://tempuri.org는 ASP.NET 네임스페이스에 대한 URI를 설정하는 데 사용됩니다.

예를 들어, 이 정의는 "Author" 요소가 문자열 유형이고 한 번만 나타나야 하며 지정되지 않은 경우 "Pushkin" 값을 사용하도록 지정합니다.

maxOccurs="unbounded" 매개변수는 요소가 여러 번 나타날 수 있음을 지정합니다.

ref 매개변수를 사용하면 이미 설명된 항목을 참조할 수 있습니다. 이 파일동일한 요소가 반복되는 것을 방지하려면 전역 요소나 속성을 사용하세요.

  1. 단순 유형과 복합 유형을 정의합니다.

XSD에는 .NET과 거의 동일한 사전 정의된 유형이 있습니다. 애플리케이션이 실행되는 동안 .NET 유형으로 변환됩니다. 이를 기반으로 프로그래밍 언어의 구조와 유사한 복잡한 유형을 구축할 수 있습니다. 복합 유형은 일련의 요소 선언으로 구성됩니다. 복잡한 유형을 정의해 봅시다

꼬리표 지정된 유형의 요소가 지정된 순서로 나타나야 함을 지정합니다. 태그가 사용된 경우 이면 요소가 어떤 순서로든 나타날 수 있습니다.

꼬리표 옵션이 있는 구조와 유사합니다. 이는 지정된 유형의 요소에 중첩된 요소 중 하나만 있어야 함을 지정합니다.

다음 예에서는 MyValue 요소 정의 내에 중첩된 단순 유형을 정의합니다.

  1. 새 그룹 및 속성 그룹을 추가합니다.

복합 유형 정의에는 속성이 포함될 수 있습니다. 다음과 같은 파일에 대한 스키마를 구축한다고 가정해 보겠습니다.

속성은 단순 유형만 가능합니다.

  1. 주석을 추가합니다.

주석을 사용하면 기존 요소에 대한 설명을 삽입하여 파일에 문서를 추가할 수 있습니다.

다양한 작가들의 인용문

파일 독자를 위한 것이며, 파일 처리 프로그램용.

소스 코드와 디자이너를 사용하여 Visual Studio 2005에서 XSD 파일을 편집할 수 있습니다. XML 문서의 경우 해당 스키마를 자동으로 생성할 수 있습니다. XML 문서 속성 창에서 스키마 파일과 변환 파일을 모두 지정할 수 있습니다. 이 경우 스튜디오는 파일이 스키마를 준수하는지 자동으로 확인하고 IntelliSense도 이 파일의 태그를 대체합니다.

XmlReader 클래스

XmlReader 클래스를 사용하면 다른 방법보다 빠르게 XML 문서에서 데이터를 검색할 수 있습니다.

XmlReader는 추상 수업. 읽기를 시작하려면 XmlReaderSettings 클래스의 개체가 정적 Create 메서드에 전달됩니다. 이 함수는 문서의 노드 수를 계산합니다.

System.Xml 사용; System.IO 사용; private int CountNodes(string xmlFile) ( int NodesCount=0; XmlReaderSettings settings = new XmlReaderSettings(); settings.IgnoreWhitespace = true; settings.IgnoreComments = true; using (XmlReader reader = XmlReader.Create(xmlFile, settings)) ( while ( reader.Read()) ( if (reader.NodeType == XmlNodeType.Element) ( NodesCount++; ) ) return NodesCount;

XmlReader 클래스를 사용하면 문서에서 CLR 클래스를 검색할 수 있습니다. 레스토랑 메뉴를 보여드리겠습니다.

메뉴의 가격과 칼로리의 합을 계산하는 함수를 작성해 보겠습니다.

protected void Page_Load(개체 보낸 사람, EventArgs e) ( int ItemsCount = 0; 십진수 DishesTotal = 0; UInt16 CaloriesTotal = 0; XmlReaderSettings 설정 = 새 XmlReaderSettings(); settings.IgnoreWhitespace = true; NameTable nt = 새 NameTable(); 개체 음식 = nt.Add("food"); 개체 가격 = nt.Add("price"); 개체 칼로리 = nt.Add("칼로리") string MenuFile = Path.Combine(Request.PhysicalApplicationPath , "menu.xml" ); 사용 (XmlReader reader = XmlReader.Create(MenuFile, settings)) ( while (reader.Read()) ( if (reader.NodeType == XmlNodeType.Element && food.Equals(reader.LocalName )) ( ItemsCount++; ) if (reader.NodeType == XmlNodeType.Element && 가격.Equals(reader.LocalName)) ( DishesTotal += (UInt16)reader.ReadElementContentAsDecimal(); ) if (reader.NodeType == XmlNodeType.Element && 칼로리.Equals(reader .LocalName)) ( CaloriesTotal += (UInt16)reader.ReadElementContentAsInt(); ) ) Response.Write(String.Format("1:C) 상당의 요리를 (0)개 주문하셨습니다. (2) 칼로리", ItemsCount, DishesTotal , 총 칼로리)); )

XPathDocument 클래스

이 클래스는 XSL을 사용한 변환을 위해 XML 문서 읽기 및 메모리 내 저장 기능을 제공합니다. 문서를 어떤 방향으로든 탐색하여 얻을 수 있습니다. 무작위 액세스 XPath 표현식을 사용하여 모든 요소에.

XML 문서 "Quotes.xml"과 XSL 변환 파일 "Quotes.xsl"을 살펴보겠습니다. XML 문서 변환 결과는 페이지의 출력 스트림으로 전송됩니다.

<% XPathDocument doc = new XPathDocument(Server.MapPath("App_Data\\Quotes.xml")); XslCompiledTransform xsl = new XslCompiledTransform(); xsl.Load(Server.MapPath("App_Data\\Quotes.xsl")); xsl.Transform(doc, null, Response.OutputStream); %>

변환 파일에 테이블 태그가 정의되어 있기 때문에 필요한 정보가 포함된 테이블이 페이지에 나타납니다.

XML 컨트롤

XML 컨트롤은 테이블을 사용하여 XML 문서를 변환하는 방법을 제공합니다. XSL 스타일. DocumentSource 속성을 사용하면 데이터가 있는 XML 파일을 지정할 수 있으며 TransformSource 속성을 사용하면 XSLT 변환 파일을 지정할 수 있습니다.

이전 예에서는 페이지에 XML 컨트롤을 배치하여 동일한 결과를 얻을 수 있습니다.

XML데이터 소스

XMLDataSource 데이터 소스 요소는 XML 문서를 데이터 소스로 정보를 표시하는 요소에 연결하는 간단한 방법을 제공합니다. XPath 쿼리를 지정하여 데이터를 필터링할 수도 있습니다. SqlDataSource와 마찬가지로 데이터 레코드를 편집, 삭제, 추가할 수 있습니다. 이렇게 하려면 GetXmlDocument 메서드를 호출하여 해당 개체에 있는 XmlDataDocument 개체에 액세스해야 합니다. 편집 후에는 Save 메서드를 사용하여 문서가 저장됩니다.

DBMS의 표 형식 데이터와 달리 XML 파일의 데이터는 계층적이므로 XMLDataSource는 메뉴와 같은 계층적 컨트롤에 바인딩하는 데 편리합니다.

XML 데이터 바인딩 구문

애플리케이션이 XML 데이터를 점점 더 자주 사용함에 따라 XMLDataSource에서 얻은 데이터를 바인딩하는 메서드가 도입되었습니다.

이 방법들은 7강에서 다룬 Bind, Eval과 같은 방식으로 동작합니다.

XmlDataSource에서 데이터를 수신하는 DataList 요소에 이 구문을 적용해 보겠습니다.

결론

이번 강의에서는 XML 데이터를 다루는 방법을 살펴보았습니다. XML은 응용 프로그램과 개발자에 관계없이 구조화된 정보를 설명하고 교환하는 보편적인 방법을 제공합니다. 이것으로 데이터 소스 작업에 대한 고려가 완료되었습니다.

.NET 애플리케이션을 개발할 때 XML 형식의 데이터 작업에 대해 이야기하겠다고 약속한 지 꽤 오랜 시간이 지났습니다. 약속은 지켜져야 합니다. 이 문서는 전문 .NET 개발자를 대상으로 한 것이 아니라 아직 .NET 응용 프로그램 개발에 대한 경험이 많지 않은 개발자를 대상으로 한다는 점에 유의하세요.


왜 XML로 작업해야 합니까?

XML이 무엇인지 아직 잘 알지 못한다면 2007년 "KV" No.에서 "XML은 진지하고 오랫동안"이라는 기사를 읽어 보시기 바랍니다. 더 중요한 내용을 위한 공간을 절약하기 위해 여기에서는 XML 형식 자체를 분석하지 않습니다.

프로그램 코드에 익숙해지기 전에 한 가지 근본적인 질문에 답해야 합니다. 왜 응용 프로그램에 XML 지원을 포함해야 할까요? 많은 사람들이 많은 기술에 관해 이 질문을 스스로에게 던졌다고 생각하며, 답변 이후에 모든 기술이 응용 프로그램에 포함되지는 않았습니다. 그러나 XML의 경우 상황이 다소 다르며 많은 상황에서 이 형식을 사용하는 실제 이유가 있습니다.

XML의 가장 큰 장점은 본질적으로 텍스트 형식임에도 불구하고 모든 데이터를 완벽하게 저장하고 전송할 수 있다는 것입니다. 이 형식은 텍스트이므로 크로스 플랫폼 문제는 자체적으로 해결되며 XML 데이터 전송 문제도 쉽게 해결됩니다(예: SOAP에서 수행됨). 또한, 이전 버전을 사용하는 애플리케이션은 새로운 속성에 신경 쓰지 않고 필요한 것을 읽을 수 있기 때문에 이전 버전의 형식과의 호환성에 대해 너무 걱정하지 않고 새 속성을 추가하여 데이터 전송 또는 저장 형식을 쉽게 변경할 수 있습니다. 태그 또는 속성. 많은 응용 프로그램이 XML 기반 파일 형식을 사용하고, 많은 데이터 전송 프로토콜도 XML을 기반으로 하며, 두 가지 모두의 목록이 계속 늘어나고 있습니다.

물론 반면에 XML은 그다지 경제적이지 않습니다. 컴퓨터 뉴스 포럼 방문자 중 한 명이 올바르게 언급한 것처럼 XML 문서는 종종 10% 데이터와 90% 태그로 구성되기 때문입니다. 그러나 이는 선택한 태그에 따라 크게 달라집니다. 당신은 쓸 수 있습니다 성. 멜니카이테, 2, 해도 될까요? . 솔직히 말해서 현재의 하드 드라이브와 두꺼운 채널로는 특별히 압축할 필요가 없는 것 같습니다.

따라서 올바른 사람에게 XML은 강력하고 편리한 것이며 이 형식의 편재성으로 인해 XML에서 전혀 벗어날 수 없습니다. 이제 프로그램 코드 작성으로 넘어가겠습니다.

프로그래밍에는 .NET 플랫폼의 기본 언어인 C#을 사용합니다. 가능한 한 많은 독자가 주어진 프로그램 코드를 직접 연습할 수 있도록 C#의 첫 번째 버전과 .NET Framework를 사용하겠습니다.


데이터 기록

먼저 데이터 쓰기에 대해 이야기해 보겠습니다. 왜냐하면 어딘가에서 무언가를 읽으려면 먼저 어딘가에 무언가를 써야 하기 때문입니다. 그리고 당신과 내가 프로그래밍을 시작했기 때문에 XML 데이터를 수동으로 생성하는 것은 적절하지 않습니다. 그럼 먼저 XML에 데이터를 쓰는 것부터 시작해 보겠습니다.

먼저 Visual Studio, #Develop 또는 C# Builder에서 새 프로젝트를 만들고 가져온 네임스페이스 목록에 System.Xml을 추가합니다.

특수 클래스인 XmlTextWriter는 .NET Framework에서 XML 데이터를 작성하는 역할을 하며 이를 통해 XML 데이터를 임의의 스트림에 쓸 수 있습니다. 즉, 일반적으로 이를 사용하여 파일, 즉 데이터베이스에 쓸 수 있습니다. , 인터넷을 통해 다른 사람에게 보내지만 이제 모든 것을 파일에 쓰겠습니다. 객체 생성자를 변경하여 출력을 리디렉션할 수 있습니다(즉, 초기화 중에 파일 이름과 해당 인코딩을 전달하지 않고 데이터인 객체를 전달함). 스트림). 제 생각에는 이미 조금 앞서 나간 것 같습니다. 먼저 XML 파일에 데이터를 쓰는 코드에 대해 알아 보겠습니다.

문자열 파일 이름 = "c:\\demo.xml"; XmlTextWriter xml = new XmlTextWriter(파일 이름, System.Text.Encoding.Unicode); xml.Formatting = 서식 지정.들여쓰기; xml.WriteStartDocument(); xml.WriteStartElement("루트요소"); for (int i = 0; i< 10; i++) { xml.WriteStartElement("subelement"); xml.WriteAttributeString("attrib1", "value1"); xml.WriteAttributeString("attrib2", i.ToString()); for (int j = 0; j < 10; j++){ xml.WriteStartElement("subsubelement"); xml.WriteAttributeString("attr", j.ToString()); xml.WriteEndElement(); } xml.WriteEndElement(); } xml.WriteEndElement(); xml.WriteEndDocument(); xml.Close();

내 생각에 첫 번째 줄은 매우 명확합니다. 이는 단순히 데이터를 저장할 파일의 이름을 기록하는 것입니다. 다음으로 XmlTextWriter 유형의 개체(보시다시피 xml이라고 함)를 만들고 이를 사용하여 모든 추가 작업을 수행합니다. 객체를 생성할 때 XML이 작성될 인코딩도 지정한다는 점에 유의하십시오. 이 예에서는 유니코드입니다. 일반적으로 다음 줄은 필수는 아니지만 XML 문서를 사람이 읽을 수 있게 만듭니다. 즉, 필요한 들여쓰기를 추가하고 줄로 나누는 것입니다. 이것이 없으면 전체 문서가 한 줄로 작성되므로 공간은 절약되지만 실제로 수동 편집에는 적합하지 않습니다.

문서 작성은 xml 개체의 WriteStartDocument() 메서드를 호출하는 것으로 시작됩니다. 그 다음 줄은 XML 문서에 루트 요소 "rootelement"를 추가합니다(XML 문서의 경우 루트 요소가 단일 복사본에 있어야 함을 상기시켜 드리겠습니다). 다음으로, 한 주기로 XML 문서에 의미론적 부하를 전달하지 않는 요소 10개를 더 추가합니다. 각 요소에 대해 두 개의 속성과 10개의 하위 요소를 더 설정합니다. 데이터를 명시적으로 변환하지 않고도 문자열에 숫자를 추가할 수 있지만 숫자가 완전히 문자열을 형성해야 하는 경우 ToString() 메서드를 사용하여 명시적으로 변환해야 합니다. 또한 XML 문서의 각 요소를 명시적으로 닫은 다음 전체 문서를 닫아야 합니다.

이제 XML 문서가 성공적으로 작성되었으므로 이 문서에서 데이터를 읽는 방법을 살펴보겠습니다.


데이터 읽기

XML 파일 읽기 결과를 모니터링할 수 있도록 애플리케이션 양식에 listBox 구성 요소를 추가합니다(물론 콘솔 애플리케이션은 제외). 음, 프로그램이 콘솔 프로그램이라면 출력을 콘솔로 쉽게 리디렉션할 수 있습니다.

평소와 마찬가지로 먼저 프로그램 코드에 대해 알아본 다음 이 코드가 정확히 무엇을 하는지 살펴보겠습니다.

XmlTextReader xml = new XmlTextReader(파일 이름); xml.WhitespaceHandling = WhitespaceHandling.None; int i = 0; while (xml.Read())( if ((xml.NodeType == XmlNodeType.Element) & (xml.Name == "subelement")) ( listBox1.Items.Add("subelement " + i + "found") ; i++; listBox1.Items.Add(" " + xml.GetAttribute("attrib1")); listBox1.Items.Add(" " + xml.GetAttribute("attrib2")); )( listBox1.Items.Add(" " + xml.GetAttribute("attr")); ) ) ) xml.Close();

읽기를 위해 우리는 XmlTextReader라는 다른 클래스를 사용합니다. 이는 데이터를 작성하는 데 사용한 클래스와 동일한 네임스페이스에 있습니다. 첫 번째 줄에서는 xml이라는 XmlTextReader 인스턴스를 만듭니다(여기서는 FileName 변수가 이전에 이미 정의되었다고 가정합니다). 방금 만든 XML 파일에 빈 줄이 설명할 수 없이 나타나는 경우 건너뛰기 위해 다음을 사용합니다. 다음 줄주어진 코드 조각에서. i 변수는 데이터를 읽는 XML 파일에서 발견된 "하위 요소" 요소의 수를 계산하는 데 사용됩니다.

다음은 파일에서 데이터를 직접 읽는 주기입니다. Read() 메서드는 XML 문서의 다음 요소를 읽고, 읽은 후 정확히 읽은 내용을 확인합니다. 실제로 "하위 요소" 요소인 경우 읽은 요소에 대한 정보를 listBox1에 추가하고 읽은 요소 수를 포함하는 변수를 증가시킨 다음 요소의 속성을 읽습니다. 속성을 읽은 후 "하위 하위 요소" 하위 요소(이 경우 별도의 XmlTextReader가 필요하지 않음)와 이러한 하위 요소의 속성을 읽기 위해 별도의 루프를 구성합니다. 이전과 마찬가지로 읽은 모든 정보를 listBox1에 입력하여 제어합니다. 올바른 읽기.

XML 파일을 읽을 때, 작성할 때와 같은 방식으로 XmlTextReader를 구성할 때 읽을 스트림을 매개변수로 지정할 수 있으며, 그런 다음 파일뿐만 아니라 다른 소스에서도 읽을 수 있습니다. XmlTextReader 클래스의 유용한 기능 중 하나는 읽을 때 읽고 있는 전체 XML 문서를 메모리에 로드하지 않으므로 대용량 XML 문서(예: XML 데이터베이스)를 구문 분석하는 것이 편리하다는 것입니다. .


무대 뒤에서

일반적으로 방금 논의한 예는 너무 간단합니다. 실제 프로젝트. 요즘에는 XML 문서를 읽을 때 일반적으로 DTD, XML 스키마 또는 Relax NG를 사용하여 유효성을 검사합니다. 유효성 검사는 XML 문서 마크업이 외부 파일에 설명된 일부 표준을 준수하는지 확인하는 것입니다. 문서 검증이 프로그램 알고리즘에 내장되어 있지 않고, 데이터를 읽거나 쓰는 프로그램 코드를 업데이트하지 않고도 데이터 형식이 변경될 때 임의로 변경할 수 있도록 검증이 필요합니다. 불행히도 이제 우리는 유효성 검사를 정리할 시간이 없습니다. 왜냐하면 당신도 이해하고 있듯이 신문 기사의 양에는 특정 제한이 있기 때문입니다.

XML 데이터 작업에 관한 또 다른 흥미롭고 유용한 실용적인 점은 XSL 데이터 변환입니다. 이 변환은 데이터가 HTML 페이지에 표시될 때 데이터에 적용되며 실제로는 일부 데이터가 포함된 XML 파일에 특정 웹 페이지 템플릿을 적용하는 것뿐입니다. 현재 XML 데이터 사용의 가장 큰 부분이 World Wide Web에 있기 때문에 XSL 변환을 고려하는 것이 매우 좋습니다.

따라서 제 생각에는 이 기사가 계속될 것이라고 생각합니다. 그러나 물론 귀하 자신(즉, Computer News 독자)이 포럼이나 내 이메일 주소로 보낸 편지에서 이에 대해 질문하는 경우에만 가능합니다. 지금은 아마도 .NET 애플리케이션에서 XML을 사용하는 것에 관한 것입니다. 이 정보가 귀하에게 도움이 되기를 바랍니다.

데이터 구조화는 유용한 것이며 가장 예상치 못한 순간에 유용할 것입니다. 예를 들어, 가까운 미래를 구조화하면 급여 규모를 확인할 수 있습니다. 그리고 이번 달 내내 어떤 효율성으로 일할지 결정할 수 있습니다.

물론 공상과학이지만 프로그래밍을 구조화하기 위해 특수 언어가 발명되었습니다( xml). 그리고 이 형식으로 표시된 데이터를 편집하기 위해 특수 XML 편집기가 만들어졌습니다.

XML이란?

많은 사람들은 모든 웹 리소스의 기초가 HTML이라는 것을 알고 있습니다. 하이퍼텍스트 언어를 사용하면 웹 페이지의 모든 요소의 계층 구조를 매우 쉽고 편리하게 정의할 수 있습니다. 부분적으로는 스타일 문제를 해결할 수 있습니다. 이 전체 계층 구조가 생성됩니다( 구조화된) 내장 태그와 그 속성을 사용합니다. 그 세트는 작지는 않지만 여전히 제한되어 있습니다.

따라서 HTML을 사용하면 인터넷 구조화의 단 하나의 문제, 즉 후속 마크업을 위한 웹 페이지 요소를 정렬하고 생성하는 문제만 해결할 수 있습니다( 디자인 창작). 그러나 World Wide Web의 리소스 간에 셀 수 없이 많은 양으로 전송되는 나머지 데이터를 어떻게 구조화할 수 있을까요? 제한 없이 선택, 검색 및 필터링을 구성하는 방법은 무엇입니까?

이러한 모든 "단점"은 다음을 사용하여 수정할 수 있습니다. XML을 사용하여. XML 편집기에 대한 검토를 시작하기 전에 이 언어가 무엇인지, 가상 공간에서 해당 언어의 범위가 무엇인지 자세히 살펴보겠습니다.


영어로 번역된 약어 XML은 “ 확장 가능한 마크업 언어» ( Xtensible 마크업 언어). 이는 표준화되었으며 W3C에서 사용하도록 권장됩니다. 이는 이를 사용하는 것이 웹 문서를 생성하는 가장 최적이고 "문제 없는" 방법임을 의미합니다.

문서를 설명하는 것 외에도 XML은 특수 시스템 프로그램의 작동에도 부분적으로 영향을 미칩니다. 이 언어의 전처리기는 기계 코드의 데이터를 사용자에게 친숙한 형식으로 변환하도록 설계되었습니다. 이러한 전처리기는 모든 XML 파일 편집기의 기초입니다.

확장 가능한 마크업 언어에는 다음과 같은 긍정적인 측면이 있습니다.

  • ~이다 이상적인 치료법웹 문서의 구조와 마크업을 설명하기 위해
  • XML이 아님 한정 세트구조화가 수행되는 요소. 대신, 사용자는 언어 설명 규칙에만 의존하여 모든 요소의 계층 구조와 이름을 직접 설정합니다.
  • XML에는 간단하고 이해하기 쉬우며 가장 중요하게는 확장 가능한 구문이 있습니다.
  • 언어는 기본 유니코드 인코딩을 기반으로 구축되었습니다.
  • 일반적인 웹 페이지를 설명하는 데 널리 사용될 뿐만 아니라 대부분의 프로그래밍 언어의 코드에 쉽게 연결됩니다. 웹 프로그래밍에 사용되는 것 포함( PHP, ASP. 그물다른 사람 ).

XML 구문

XML로 작성된 모든 문서는 엔터티로 구성됩니다. 엔터티는 가장 작은 단위(요소)입니다. 각 엔터티에는 기호가 포함되어 있습니다.

그들은 다음과 같이 나뉩니다:

  • 마크업 기호 - 태그, 주석(< тег>, );
  • 리터럴 문자 - 태그 사이에 포함된 주요 내용입니다.

언어의 논리적 구조는 계층적으로 중첩된 요소로 구성됩니다. 맨 위에 있는 것을 루트(root)라고 합니다. 각 요소에는 열기 및 닫기 태그가 포함되어 있습니다. 그리고 열린 루트 요소에서 닫혀야 합니다.

안녕, 세계!

제외하고 루트 요소 XML 문서는 프롤로그로 구성됩니다. 코드의 맨 처음에 위치합니다. 프롤로그에는 다음이 포함될 수 있습니다.

  • 광고;
  • 처리 지침
  • 코멘트.

XML의 주요 구성 요소는 다음에서 생성된 문서의 스크린샷에 더 명확하게 표시됩니다. 간단한 XML편집자:


XML 기술 문서를 사용하여 언어 구문에 대해 자세히 알아볼 수 있습니다..

XML 편집기 개요

  • Microsoft Visual Studio는 다음과 같은 기능을 결합한 강력한 개발 환경입니다. 많은 수의프로그램 코드 작성을 위한 도구 및 도구. 또한 정교한 XML 편집기도 포함되어 있습니다. 무엇보다도 XML 스키마의 생성 및 시각화를 지원합니다. 아쉽게도 Visual Studio에서는 PHP 지원제대로 구현되지 않았습니다. 이 환경은 ASP.NET을 사용하여 웹 응용 프로그램을 만드는 데 더 "맞춤형"입니다.


  • Adobe Dreamweaver는 또 다른 강력한 개발 환경입니다. 전체 툴킷은 전적으로 웹사이트 제작을 목표로 합니다. 여러 프로그래밍 언어의 구문이 지원됩니다. Dreamweaver에는 다음과 같은 내장형 XML 테이블 편집기도 포함되어 있습니다.


  • XMLSpy XML 편집기는 다양한 XML 데이터 형식으로 작업하기 위한 강력한 도구입니다. 데이터, 다이어그램, 구문 강조의 간단한 편집뿐만 아니라 요소 간의 계층 관계에 대한 그래픽 시각화도 지원됩니다.


시각적 XML 편집기는 399유로와 799유로의 두 가지 버전으로 제공됩니다. 가장 비싼 옵션에는 여러 프로그래밍 언어에 대한 구문 지원과 디버거가 포함됩니다. 더 저렴한 옵션은 가장 널리 사용되는 개발 환경과 완벽하게 호환됩니다( 비주얼 스튜디오, 이클립스), 본격적인 추가 기능으로 작동할 수 있습니다.


  • XML 메모장은 무료 XML 편집기입니다. 여기에는 구문 강조 기능과 유효성 검사 도구가 내장되어 있습니다. 회로 구성도 지원됩니다. 이 애플리케이션에는 간단하고 직관적인 인터페이스가 있습니다.


온라인 서비스 검토

  • XML 스키마 생성기 - 서비스를 통해 다음을 수행할 수 있습니다. 일반 문서 XML 생성 스키마(XSD). 서비스 인터페이스는 단순하고 흑백으로 디자인되었습니다. 이 외에도 좋은데 완전 부재광고하는;
  • xmlvalidation.com – 이 리소스를 사용하면 특수 필드에 복사되거나 파일로 업로드된 XML 문서의 내용을 완전히 확인할 수 있습니다.


  • XSL 변환 – 지정된 XSLT 스타일 템플릿을 사용하여 일반 XML 코드를 변환하는 역할을 합니다. 이 서비스에는 온라인 XML 유효성 검사기를 포함하여 웹마스터에게 유용한 수십 가지 도구도 포함되어 있습니다.

리뷰에서 볼 수 있듯이 확장 가능한 마크업 언어로 작업하려면 설치된 일반 XML 편집기를 사용하는 것이 가장 좋습니다. 자신의 컴퓨터아니면 노트북. 전문 온라인 서비스 도구 세트는 그다지 넓지 않으며 XML 문서 코드의 유효성만 확인할 수 있습니다. 또는 해당 내용을 스키마로 변환합니다.

최종 업데이트 날짜: 2015년 10월 31일

C#에서 XML 작업에 사용할 수 있는 몇 가지 접근 방식이 있습니다. 프레임워크의 첫 번째 버전에서는 XML 작업을 위한 주요 기능이 System.Xml 네임스페이스에서 제공되었습니다. 이는 XML 문서를 조작할 수 있는 여러 클래스를 정의합니다.

    XmlNode: xml 노드를 나타냅니다. 전체 문서 또는 별도의 요소를 노드로 사용할 수 있습니다.

    XmlDocument : 전체 XML 문서를 나타냅니다.

    XmlElement: 단일 요소를 나타냅니다. XmlNode 클래스에서 상속됨

    XmlAttribute : 요소 특성을 나타냅니다.

    XmlText: 요소의 값을 텍스트로 나타냅니다. 즉, 요소의 여는 태그와 닫는 태그 사이에 나타나는 텍스트입니다.

    XmlComment : xml의 주석을 나타냅니다.

    XmlNodeList: 노드 목록 작업에 사용됩니다.

XML 콘텐츠를 조작할 수 있는 주요 클래스는 XmlNode이므로 이 클래스의 주요 메서드와 속성 중 일부를 살펴보겠습니다.

    Attributes 속성은 특성 컬렉션을 나타내는 XmlAttributeCollection 개체를 반환합니다.

    ChildNodes 속성은 지정된 노드에 대한 하위 노드 컬렉션을 반환합니다.

    HasChildNodes 속성은 현재 노드에 하위 노드가 있는 경우 true를 반환합니다.

    FirstChild 속성은 첫 번째 자식 노드를 반환합니다.

    LastChild 속성은 마지막 자식 노드를 반환합니다.

    InnerText 속성은 노드의 텍스트 값을 반환합니다.

    InnerXml 속성은 노드의 모든 내부 xml 태그를 반환합니다.

    Name 속성은 노드의 이름을 반환합니다. 예를 들어, - Name 속성의 값은 "user"입니다.

    ParentNode 속성은 현재 노드의 부모 노드를 반환합니다.

이러한 클래스와 해당 기능을 적용해 보겠습니다. 그리고 먼저 xml 작업을 위해 새 파일을 만들어 보겠습니다. 그에게 전화하자 사용자.xml그 안에 다음 내용을 정의합니다.

마이크로소프트 48 Google 42

이제 이 문서를 살펴보고 해당 데이터를 콘솔에 출력해 보겠습니다.

System.Xml 사용; class Program ( static void Main(string args) ( XmlDocument xDoc = new XmlDocument(); xDoc.Load("users.xml"); // 루트 요소를 가져옵니다. XmlElement xRoot = xDoc.DocumentElement; // 루트 요소 foreach(XmlNode xnode in xRoot) ( // 이름 속성 가져오기 if(xnode.Attributes.Count>0) ( XmlNode attr = xnode.Attributes.GetNamedItem("name"); if (attr!=null) 콘솔. WriteLine(attr .Value); ) // 사용자 요소의 모든 하위 노드를 순회합니다. foreach(XmlNode childnode in xnode.ChildNodes) ( // 노드가 회사인 경우 if(childnode.Name=="company") ( Console.WriteLine ("회사: (0 )", childnode.InnerText); ) // 노드가 연령인 경우 if (childnode.Name == "age") ( Console.WriteLine("Age: (0)", childnode.InnerText) ; ) ) Console.WriteLine() ) Console.Read();

결과적으로 콘솔에 다음과 같은 출력이 표시됩니다.

xml 문서 작업을 시작하려면 XmlDocument 개체를 만든 다음 해당 개체에 xml 파일을 로드해야 합니다. xDoc.Load("users.xml");

xml을 구문 분석할 때 먼저 xDoc.DocumentElement 속성을 사용하여 문서의 루트 요소를 가져옵니다. 다음으로 문서 노드의 실제 구문 분석이 수행됩니다.

foreach(XmlNode xnode in xRoot) 루프에서는 루트 요소의 모든 하위 노드를 통과합니다. 하위 노드는 요소를 나타내기 때문에 , 그러면 해당 속성을 얻을 수 있습니다. XmlNode attr = xnode.Attributes.GetNamedItem("name"); 및 중첩된 요소: foreach(xnode.ChildNodes의 XmlNode childnode)

우리 앞에 어떤 종류의 노드가 있는지 확인하기 위해 해당 이름을 비교할 수 있습니다. if(childnode.Name=="company")

비슷한 방법으로 xml 데이터에서 User 개체를 만들 수 있습니다.

목록 사용자 = 새 목록 (); XmlDocument xDoc = new XmlDocument(); xDoc.Load("users.xml"); XmlElement xRoot = xDoc.DocumentElement; foreach(XmlElement xnode in xRoot) ( User user = new User(); XmlNode attr = xnode.Attributes.GetNamedItem("name"); if (attr!=null) user.Name=attr.Value; foreach (XmlNode 하위 노드 in xRoot xnode.ChildNodes) ( if (childnode.Name == "company") user.Company=childnode.InnerText; if (childnode.Name == "age") user.Age = Int32.Parse(childnode.InnerText); ) 사용자 .Add(user); ) foreach (사용자의 사용자 u) Console.WriteLine("(0) ((1)) - (2)", u.Name, u.Company, u.Age);

XML 파일 편집, 유효성 검사, 형식 지정, 비교 도구는 물론 XQuery, XPath, 사이트맵, 스키마 및 RSS 피드 지원

일반적으로 사용되는 약어
  • API: 애플리케이션 프로그래밍 인터페이스
  • DITA: Darwin 정보 입력 아키텍처
  • DTD: 문서 유형 정의
  • HTML: 하이퍼텍스트 마크업 언어
  • IDE: 통합 개발 환경(통합 개발 환경)
  • URL: 유니폼 리소스 로케이터
  • W3C: 월드 와이드 웹 컨소시엄(WWW 컨소시엄)
  • WSDL: 웹 서비스설명 언어(웹 서비스를 설명하는 언어)
  • XHTML: 확장 가능한 하이퍼텍스트 마크업 언어
  • XML: 확장 가능한 마크업 언어
  • XSLT: 확장 가능한 스타일시트 언어 변환

XML 기술을 사용하기 위한 도구를 선택할 때 먼저 요구 사항을 결정해야 합니다. 예를 들어, XML로 실행해야 한다면 다양한 업무(편집, 교정 등) 적절한 기능을 갖춘 XML IDE 사용을 고려해보세요. 특정 작업(XML 파일 비교 또는 사이트맵 생성)의 경우 더 많은 것을 사용하는 것이 좋습니다. 전문적인 수단특정 작업을 위해.

이 문서에서는 다음 범주의 XML 도구를 다룹니다.

  • XML 사이트맵을 개발하고 확인하는 프로그램입니다.
  • RSS 피드 생성기.
  • XML 스키마 생성기.
  • XML의 정확성을 확인하는 프로그램.
  • XML 포맷 프로그램.
  • XML 편집기.
  • XML 작업을 위한 도구.
  • XML 작업을 위한 오픈 소스 도구입니다.
  • 통합 환경 XML 개발.
  • XML 비교 도구
  • XQuery 작업을 위한 도구입니다.
  • XPath 작업을 위한 도구.

XML 사이트맵 생성 프로그램

XML 사이트맵은 웹 사이트의 모든 URL 목록입니다. 사이트맵은 검색 엔진 데이터베이스에 크롤링하고 포함할 수 있는 웹 사이트 URL을 검색 엔진에 알려줍니다. 대부분의 사이트맵 프로그램은 웹 기반이며 변경 빈도 및 마지막 수정 날짜와 같은 여러 매개변수와 함께 웹사이트의 URL을 요청합니다. 나열된 모든 도구에 대한 링크가 섹션에 제공됩니다.

여러 가지 사이트맵 생성기가 있습니다:

  • Google 사이트맵 생성기웹 서버에 배포된 웹 사이트에 대한 업데이트 및 트래픽을 기반으로 사이트 맵을 자동으로 생성합니다.
  • G사이트 크롤러사이트맵을 생성하기 위한 Windows 애플리케이션입니다.
  • 다운로드 가능한 도구 외에도 다양한 대화형 애플리케이션을 사용하여 사이트맵을 생성할 수 있습니다. 다음은 두 가지 예입니다.
    • 사이트맵 빌더 Google, HTML 및 텍스트 URL에 대한 사이트맵을 생성합니다.
    • XML 사이트맵 XML, ROR, 텍스트 또는 HTML 형식으로 사이트 맵을 생성합니다.

XML 사이트맵의 정확성을 확인하는 프로그램

사이트맵 유효성 검사 프로그램은 웹 사이트용으로 생성된 맵의 유효성을 검사하는 데 사용됩니다. 이러한 프로그램은 사이트맵이 검색 엔진에서 사용하기에 적합한지 확인합니다. 나열된 모든 도구에 대한 링크가 섹션에 제공됩니다.

다음은 사이트맵 확인 프로그램 목록입니다.

  • Automapit 사이트맵 유효성 검사기사이트 맵의 정확성을 확인하여 검색 엔진 기준을 충족하는지 확인합니다.
  • 사이트맵 XML 유효성 검사기사이트맵에 올바른 XML 코드가 있는지 확인하여 검색 엔진에 보내기 전에 오류를 수정할 수 있습니다.
  • XML 사이트맵 유효성 검사기지도 문제를 식별하여 지도를 검색 엔진에 제출하기 전에 해결할 수 있습니다.
  • 온라인 판매자 사이트맵 검사기 sitemap.xml 파일에서 XML 헤더의 정확성을 확인합니다.

RSS 피드 생성기

RSS 뉴스피드는 좋은 방법사이트 방문자에게 정보를 지속적으로 제공하세요 최신 변경사항그 내용. RSS 피드 생성기는 예를 들어 뉴스 사이트(예: CNN)의 헤드라인을 보거나 최신 스포츠 뉴스를 알고 싶어하는 사용자 사이에서 인기가 높습니다. 나열된 모든 도구에 대한 링크가 섹션에 제공됩니다.

웹 사이트 개발자는 다음 도구를 사용하여 RSS 피드를 생성할 수 있습니다.

  • IceRocket RSS 빌더– 프로그램 간단한 인터페이스를 사용하면 주제, 링크 및 콘텐츠를 추가하여 웹 사이트에 대한 RSS 피드를 만들 수 있습니다.
  • 급식웹 페이지, 뉴스 또는 제품에 대한 RSS 피드를 만듭니다.
  • RSSPect웹 사이트, 문서 또는 팟캐스트에 대한 RSS 피드를 설정합니다.

XML 스키마 생성기

XML 스키마는 XML 인스턴스에서 생성될 수 있습니다. 나열된 모든 도구에 대한 링크가 섹션에 제공됩니다.

사용 가능한 도구:

  • Trang 제작: ThaiOpenSource- 에서 시작된 프로그램 명령줄, XML에서 XSD(XML 스키마 정의)를 생성합니다.
  • XMLBeans inst2xsd(Instance to Schema Tool)를 사용한 스키마 생성을 포함하여 여러 기능을 제공하는 Apache 프로젝트의 프로그램입니다.
  • ASP BuildXMLSchema용 XML– 대화형 XML 스키마 생성기.

XML의 정확성을 확인하는 프로그램

XML 코드 인스턴스를 해당 스키마와 비교하여 확인할 수 있습니다. 나열된 모든 도구에 대한 링크가 섹션에 제공됩니다.

다음 대화형 도구 중 하나를 사용하세요.

  • XMLValidation.com XML 문서가 문서에 지정된 XML 스키마 또는 DTD와 일치하는지 확인하거나, 스키마 또는 DTD 선언이 없는 경우 구문을 확인합니다.
  • DecisionSoft.com 스키마 검사기하나의 스키마와 문서 인스턴스의 정확성을 확인하고 오류 목록을 표시합니다.
  • W3C XML 유효성 검사기– 네임스페이스 URI http://www.w3.org/2001/XMLSchema를 사용하여 스키마를 확인하는 서비스.

XML 포맷터

XML 형식화는 읽기 쉽도록 XML 데이터에 대해 자주 수행되는 작업입니다. 다수 데스크탑 애플리케이션 XML과 함께 작동하는 것은 이 기능을 제공합니다. 도구를 설치하지 않고 XML 콘텐츠의 형식을 빠르게 지정하려면 다음 중 하나를 시도해 보십시오. 대화형 서비스. 나열된 모든 도구에 대한 링크가 섹션에 제공됩니다.

  • XMLIndent.com
  • X01 온라인 XML 포맷터

XML 편집기

XML 편집기는 요소, 속성 또는 일반 텍스트와 들여쓰기를 강조 표시하여 XML 문서를 해석하는 데 도움을 줍니다. XML 편집기를 사용하는 또 다른 이점은 사용자가 XML 문서의 다양한 노드를 쉽게 볼 수 있도록 하는 트리 보기와 같은 콘텐츠 지향 기능이 있다는 것입니다. 또한 코드의 정확성을 확인하고 XML 닫는 태그가 누락된 경우 경고 및 오류 목록을 표시합니다. 나열된 모든 도구에 대한 링크가 섹션에 제공됩니다.

  • Xerlin XML 편집기– XML 컨텐츠를 생성하고 유효성을 검사하는 Java™ 프로그램입니다. 편집기는 오픈 소스이며 XSLT를 지원하고 DTD 및 스키마에 대해 XML의 유효성을 검사할 수 있습니다.
  • Jax 편집기 Java의 또 다른 오픈 소스 XML 편집기입니다. 컨텐츠를 PDF 형식으로 내보내기 지원 시사 XSLT를 사용하는 HTML; 여러 플랫폼에서 작동합니다.
  • XML폭스무료 XML 편집기문법적으로 올바른 XML 문서와 스키마를 생성할 수 있는 교정기를 사용합니다. 이 편집기는 다른 XML 작업도 지원합니다.

XML 도구

XSLT 변환은 스타일 시트를 사용하여 하나의 XML 형식을 다른 XML 형식으로 변환할 때 유용합니다. 이를 위해서는 다양한 도구가 도움이 될 수 있습니다. 예를 들면 Tiger XSLT Mapper와 Kernow가 있습니다. 나열된 모든 도구에 대한 링크가 섹션에 제공됩니다.

Tiger XSLT 매퍼초보자도 쉽게 사용할 수 있는 XML 구조 변환 프로그램입니다. 끌어서 놓기 그래픽 인터페이스를 사용하여 편집할 수 있는 변환을 자동으로 생성합니다.

커노우프로그래밍 방식으로 변환을 수행하는 Java 인터페이스입니다. 커노우는 좋은 선택시각적 인터페이스를 사용하여 주기적으로 XSLT 변환을 수행해야 하는 개발자를 위한 것입니다.

여러 대화형 XSLT 프로그램도 유용합니다.

  • XSLT 온라인 변환
  • W3C 온라인 XSLT 2.0 서비스

브라우저 플러그인을 선호하는 개발자는 다음을 사용할 수 있습니다. 유용한 플러그인 XML로 작업하려면:

모질라 파이어 폭스

  • XSL 결과 추가 기능문서의 XSLT 변환(XSLT 1.0 또는 XSLT 2.0 - Saxon-B) 결과를 표시합니다.
  • XML 개발자 도구 모음도구 모음에 추가 표준 도구 XML 작업을 위한 것입니다.

구글 크롬

  • XML 트리 XML 데이터를 사용자에게 친숙한 형식으로 표시합니다.
  • XML 뷰어– Google Chrome용 XML 문서 뷰어.

XML 작업을 위한 오픈 소스 도구

구매가 어려우신 고객님을 위해 상업 프로그램 XML 작업에는 오픈 소스 도구가 유용합니다. 활동적인 작업커뮤니티는 XML 작업을 위한 아주 좋은 프로그램을 만드는 것을 가능하게 했습니다. 나열된 모든 도구에 대한 링크가 섹션에 제공됩니다.

XML IDE iXedit XML 문서 처리를 위한 다양한 기능을 제공합니다.

  • DTD 준수 확인.
  • DTD를 사용한 자동 코드 완성.
  • 사용자 정의 템플릿.
  • XSLT 처리.
  • 부분적으로 편집합니다.

린조 XML 편집기 Eclipse에서 실행되는 XML 편집기입니다. 특징:

  • 네임스페이스 지원.
  • 태그 및 속성의 자동 완성.
  • XML 유효성 검사.

이러한 도구는 Java 요소 작업을 위한 기능도 제공합니다.

  • 클래스 이름 자동 완성.
  • 클래스 정의를 엽니다.

XPontus XML 편집기다음을 포함하는 오픈 소스 Java 프로그램입니다. 기능성:

  • 코드 형식화 및 완성.
  • XSL 변환.
  • DTD 및 스키마 생성.
  • XML 유효성 검사.

XML IDE

XML 통합 개발 환경(IDE)은 거의 모든 XML 관련 작업을 처리합니다. 다양한 기능을 갖춘 다양한 IDE가 있습니다. 나열된 모든 도구에 대한 링크가 섹션에 제공됩니다.

XMLSpy XML, XML 스키마, XSL/XSLT, XQuery, WSDL 및 SOAP를 생성, 편집 및 디버깅하기 위한 XML IDE입니다. 추가 기능:

  • 코드 생성기.
  • 파일 변환기.
  • 디버거.
  • 프로파일러.
  • Visual Studio.NET 및 Eclipse IDE와의 통합을 지원합니다.
  • Microsoft® Access®에서 데이터를 가져올 수 있는 데이터베이스 가져오기 마법사.

XML 마커동기화된 테이블 트리와 텍스트 디스플레이를 사용하여 XML 데이터를 표 형식 및 계층 형식으로 표시하는 XML 편집기입니다. 이 프로그램은 매우 큰 문서(수백 메가바이트, 심지어 수 기가바이트 크기)를 다운로드할 수 있습니다. 기타 기능:

  • 구문 강조 기능이 있는 편집기입니다.
  • 테이블 정렬.
  • 자동 들여쓰기.
  • 입력할 때 구문 검사.

액체 XML 스튜디오– XML 작업을 위한 여러 프로그램 패키지. 다음 도구를 제공합니다.

  • XML 스키마 편집기.
  • XML 데이터 바인딩 코드 생성기.
  • WSDL 편집기.
  • XML 편집기.
  • Microsoft Visual Studio와의 통합.
  • 웹 서비스 테스트 클라이언트.
  • XPath 표현식 작성기.
  • HTML 문서 생성기.
  • XSLT 편집기 및 디버거.
  • 대용량 파일 편집기.
  • XML Diff – XML 파일 비교.

XML 편집기다양한 XML 관련 작업을 지원하는 모든 기능을 갖춘 XML IDE입니다. 그 기능은 유용할 것입니다 경험이 풍부한 사용자. 그 중 일부를 나열해 보겠습니다.

  • 지능형 XML 편집기.
  • XML 유효성 검사.
  • XSL/XSLT 지원.
  • XQuery 지원.
  • XPath 지원.
  • 단일 소스에서 XML 게시.
  • Microsoft Office 문서를 지원합니다.

스타일러스 스튜디오다음과 같은 기능을 제공합니다:

  • XSLT 및 XQuery 프로파일러.
  • EDI 지원.
  • 기업 웹 서비스 작업을 위한 도구입니다.
  • XML 파이프라인.
  • XSLT 2.0 및 XQuery 1.0과 XML 스키마의 상호 작용.
  • XML 출판 도구.

XML 메모장 Microsoft는 개발자가 XML 문서를 만드는 데 도움을 줍니다. 이 무료 프로그램에는 두 개의 XML 파일을 비교하는 데 사용할 수 있는 XMLDiff라는 도구가 포함되어 있습니다. 인터페이스는 간단하고 사용하기 쉽습니다. 이 프로그램은 .Net 플랫폼에서 실행됩니다. 다음은 그 기능 중 일부입니다:

  • 텍스트 보기와 동기화된 트리 보기입니다.
  • 텍스트 복사 및 이동 시 네임스페이스 지원.
  • 트리 및 텍스트 보기의 증분 검색.
  • 드래그 앤 드롭 편집 지원.
  • 편집 시 변경 사항을 실행 취소하고 변경 사항을 다시 실행하는 작업 횟수는 무제한입니다.
  • 정규식 및 XPath를 사용한 검색을 지원합니다.
  • XML 스키마 준수 여부를 즉시 확인합니다.
  • 열거된 단순 유형의 예상 요소, 속성 및 값을 기반으로 하는 Intellisense 기술(자동 완성).
  • 지원하다 전문 편집자데이터 유형 날짜, 날짜시간, 시간 및 색상과 같은 기타 유형의 경우.
  • 내장 HTML 뷰어.
  • XInclude 지원.

XML 복사 편집기유효성 검사를 지원하는 빠른 XML 편집기입니다. 탭이 있으면 여러 파일을 동시에 편집할 수 있습니다. 기타 기능:

  • DTD/XML 스키마/RELAX NG 준수 여부를 확인하는 중입니다.
  • XSLT 및 XPath 지원.
  • 형식화된 인쇄 출력 및 색상 구문 강조.
  • 태그의 축소 및 완성.
  • 문서 가져오기 및 내보내기 마이크로 소프트 워드정보 손실 없이.
  • XHTML, XSL, DocBook 및 TEI(Text Encoding Initiative)를 지원합니다.

첫 번째객체 XML 편집기– 무료 XML 편집기. XML 문서의 내용을 기반으로 표시되는 XML 트리를 직접 편집할 수 있습니다. 대용량 파일을 다운로드하고 처리할 수 있습니다. 일부 편집기 기능:

  • CMarkup을 기반으로 빠르고 이식 가능합니다.
  • Java 또는 MSXML이 필요하지 않습니다.
  • 라인 랩 지원.
  • MSXML 기반 DTD 규정 준수 검사.
  • 번호별로 줄을 이동합니다.
  • XPath 매핑.
  • 북마크에 있는 파일을 편집합니다.
  • C++ 코드 생성.

XRay XML 편집기– 무료 통합 XML IDE. 이 프로그램은 입력된 XML 문서의 유효성을 확인합니다. W3C 표준을 기본적으로 지원합니다. 또한 XML을 사용하여 생성된 웹 페이지를 미리 볼 수 있는 HTML 뷰어도 있습니다. XSD, DTD 및 XDR(외부 데이터 표현)을 포함하여 세 가지 유형의 스키마를 생성할 수 있습니다. 기타 기능은 다음과 같습니다.

  • 실시간 XSLT 처리.
  • 실시간으로 구성표의 정확성을 확인합니다.
  • 통합된 온라인 XML 튜토리얼.

XML창 Java로 작성되었으며 다양한 플랫폼에서 사용할 수 있는 무료 XML 편집기입니다. 대화형 스키마 검사, 고급 XPath 패널 등과 같은 고급 기능이 세 가지로 표시됩니다. 다양한 형식, 트리 보기, 항목 보기, 소스 코드 보기 등이 있습니다. XMLSpear는 Java 웹 프로그램이나 독립형 애플리케이션으로 사용할 수 있습니다. 추가 기능:

  • XPath 및 XSLT 지원.
  • 스키마에서 완전한 XML 문서를 생성하는 기능.
  • 다양한 인코딩 형식을 지원합니다.
  • 통합된 텍스트 및 HTML 플러그인.
  • 실시간으로 스키마 또는 DTD를 확인하세요.
  • XML 인스턴스에서 스키마 생성.
  • 노드 작업을 위한 트리 편집기입니다.

XML마인드 Java 기술을 사용하고 다양한 플랫폼에서 사용할 수 있는 기능이 풍부한 XML 편집기입니다. 초보자보다는 숙련된 사용자에게 더 적합합니다. XML 문서를 편집하는 혁신적인 방법을 소개하며 Java 플랫폼이 필요합니다. XMLmind 기능은 다음과 같습니다.

  • XML 문서를 HTML, PDF, Eclipse 및 기타 여러 형식으로 변환합니다.
  • DITA 변환기의 가용성.
  • DocBook, JavaDoc, XHTML 및 내장 템플릿을 지원합니다.
  • MathML 문서 생성을 지원합니다.
  • 편집 가능한 명령.
  • 통합된 XML 파서 및 XSLT 엔진.

ElfData XML 편집기– 프로그램 Mac 사용자 OS. 이 XML IDE는 유니코드를 지원하며 DTD 유무에 관계없이 XML 문서에 대한 문법 검사를 수행할 수 있습니다. 트리 보기와 코드 보기의 두 가지 프레젠테이션 모드를 사용할 수 있습니다. 드래그 앤 드롭 기술 지원을 통해 XML 요소를 문서로 드래그할 수 있습니다. 코드별 검색과 트리별 검색이라는 두 가지 모드가 있어 검색이 더 쉬워졌습니다. 기타 기능은 다음과 같습니다.

  • XML 1.0을 준수합니다.
  • Macintosh 스타일의 사용자 인터페이스.
  • 디버깅에 도움이 되는 자세한 오류 메시지입니다.
  • "브라우저로 보내기" 기능을 사용하면 브라우저에서 문서를 볼 수 있습니다.
  • DTD를 사용하여 페이지를 XHTML로 저장하는 기능.

XMetaL워드프로세서와 비슷하다. 대부분의 XML IDE와 마찬가지로 XML 문서의 유효성 검사를 수행할 수 있으며 스키마, DTD 및 XInclude를 지원합니다. 기타 기능:

  • 맞춤법 검사 및 자동 완성암호.
  • 웹 도움말 형식의 출력을 지원합니다.
  • XML 문서를 PDF, HTML 및 기타 다양한 형식으로 변환하는 기능.
  • XMetal 커넥터는 CMS(콘텐츠 관리 시스템) 및 SVN과 같은 버전 제어 시스템과 통합됩니다.
  • 유니코드 지원을 통해 다양한 언어로 XML 문서를 만들 수 있습니다.
  • DITA 지원(시각화, 주제 중심 등의 기능 포함) 사용자 인터페이스) DITA 컨텐츠를 생성합니다.

XML 비교 도구

개발자, 편집자 및 작성자는 변경 사항을 추적하기 위해 XML 문서의 두 버전을 비교하는 프로그램이 필요한 경우가 많습니다. 사용할 수 있는 비교 도구는 다양하지만 많은 작업에 가장 효과적인 솔루션은 XML 문서 작업을 위해 특별히 설계된 비교 프로그램입니다. 나열된 모든 도구에 대한 링크가 섹션에 제공됩니다.

XML 비교 및 ​​병합파일, 디렉토리 및 ZIP 아카이브를 비교할 수 있습니다. 소스 문서와 대상 문서가 프로그램에 로드되면 차이점이 색상으로 표시됩니다. 원본의 변경 사항과 대상 파일편집할 수 있습니다. 이 프로그램에는 다양한 비교 알고리즘이 내장되어 있으며 문서 내용과 크기에 따라 알고리즘을 자동으로 선택할 수 있습니다. 프로그램은 단어별, 문자별 비교를 수행할 수 있습니다. 디렉토리와 아카이브를 비교할 때 비교 기준으로 다음 매개변수를 선택할 수 있습니다.

  • 타임스탬프.
  • 콘텐츠.
  • 바이너리 비교.

액체 XMLDiff공백, 주석 및 프로세서 지시문 제거와 같은 많은 XML 관련 기능이 있습니다. 이 프로그램은 항목이 새 항목인지, 삭제되었는지, 이동되었는지 예측할 수 있을 만큼 강력합니다. 이 프로그램은 디자이너 및 개발자 버전에서 Liquid XML Studio의 일부로도 사용할 수 있습니다.

ExamXML XML 문서 간의 차이점을 시각적으로 비교하고 동기화하는 강력한 도구입니다. 비교를 위한 XML 입력은 파일이거나 데이터베이스의 필드일 수 있습니다. ExamXML은 XML 문서의 일부를 비교하고 저장할 수도 있습니다. 문서에서 가져오거나 내보낼 수도 있습니다. 마이크로 소프트 엑셀®. ExamXML은 다음에서 실행됩니다. 다른 버전마이크로소프트 윈도우®. 기타 기능:

  • DTD 및 XML 스키마를 준수하기 위해 XML의 정확성을 확인합니다.
  • 날짜와 숫자의 정규화.
  • 드래그 앤 드롭 지원.
  • XML 문서는 트리로 표시됩니다.

DeltaXML XML 문서의 변경 사항을 검색, 비교, 연결 및 동기화할 수 있습니다. Java API를 지원하므로 쉽게 사용할 수 있습니다. 소프트웨어 비교 XML 문서. 함께 일할 수 있습니다 대용량 파일. 프로그램은 비교 결과가 포함된 델타 파일을 생성할 수 있습니다. 이 파일은 직접 표시하거나 XSL을 사용하여 표시할 수 있습니다. 다른 XMKL 프로그램에서 이 파일을 처리할 수 있습니다. DeltaXML Sync는 세 개의 XML 문서를 비교하고 차이점을 시각화할 수 있습니다. XML 문서 비교 기능 외에도 여러 가지 서식 지정 도구가 있습니다.

  • DeltaXML DITA 비교.
  • DeltaXML DocBook 비교.
  • DeltaXML ODT 비교.
  • DeltaXML ODT를 병합합니다.

XQuery 작업을 위한 도구

XQuery 언어는 고급 XML 사용자가 대규모 XML 문서에서 콘텐츠를 쿼리하고 추출하는 데 매우 유용할 수 있습니다. XQuery 관련 프로그램은 XQuery를 활용하고 디스플레이, 디버깅, 프로파일링과 같은 고급 기능을 활성화하는 데 도움이 될 수 있습니다. 이러한 프로그램은 정확성 검사, 코드 완성 및 미리보기와 같은 유용한 기능을 제공합니다. 나열된 모든 도구에 대한 링크가 섹션에 제공됩니다.

편집자 XMLSpy XQuery 편집기 XQuery에 대한 구문 강조 표시 및 상황에 맞는 메뉴를 제공합니다. 코드 완성 기능을 사용하면 XQuery 문서를 쉽게 만들 수 있습니다. 또한 XML 인식 데이터베이스용 XQuery를 개발할 수도 있습니다. 기타 기능:

  • 오류 격리.
  • 단순화된 디버깅.
  • 코드 성능이 향상되었습니다.
  • 텍스트 보기가 개선되었습니다.

프로그램 스타일러스 스튜디오 XQuery 편집기스마트 코드 검사, 코드 완성, 요소 생성자, 함수, 경로 표현식 등을 포함한 광범위한 기능을 갖춘 통합 XQuery 편집기가 있습니다. 편집기는 Saxon XQuery 프로세서를 지원하는 개방형 XQuery 아키텍처를 기반으로 합니다. XQuery 소스 트리 창은 드래그 앤 드롭 기술과 편리한 기호 및 아이콘을 지원합니다. 추가 기능:

  • XQuery 스크립트 만들기.
  • XQuery 미리보기.
  • XQuery 결과를 XQuery 표현식에 매핑합니다.

Eclipse용 XQuery 개발 도구 Eclipse 환경에서 XQuery를 생성, 디버깅 및 실행하는 데 도움을 줍니다. 이러한 도구는 다음도 제공합니다.

  • XQuery 업데이트 및 스크립팅 개선 사항을 지원합니다.
  • 코드 완성 및 코드 패턴.
  • 의미 체계 확인 및 빠른 수정.
  • 입력 시 입력 유효성을 검사합니다.

XPath 도구

특수 XPath 도구는 XPath 평가 결과를 시각화하는 데 유용하며 XPath 표현식을 만들고 유효성을 검사하는 데 도움이 됩니다. 에게 유용한 기능이러한 도구가 제공하는 기능에는 XPath 표현식 디버깅, 자동 코드 완성, 데이터베이스 검색이 포함됩니다. XPath 사용. 나열된 모든 도구에 대한 링크가 섹션에 제공됩니다.

프로그램 스케치경로 XPath 편집기이자 XML 구문 분석 및 테스트 도구입니다. 이는 XML 문서에 대한 XPath 표현식을 개발하고 테스트하기 위한 IDE를 제공합니다. 이 프로그램은 .NET Framework를 사용하여 XPath 1.0 및 XPath 2.0용 Saxon.NET과 함께 작동합니다. 기타 기능:

  • 표현식에 XPath 변수 사용.
  • XPath 함수 도우미.
  • 내장된 단계 추적기 및 디버거.
  • 표현식의 구문 색상 강조.

XPath 시각화 도구- 무료입니다 마이크로소프트 프로그램 XML 문서에 대해 XPath 쿼리를 수행하고 결과를 시각화하는 Windows. 입력 정보는 다음의 파일일 수 있습니다. 파일 시스템또는 URL; 파일 내용을 텍스트로 프로그램에 직접 복사할 수도 있습니다. 프로그램에 전체 XPath 쿼리를 입력할 수 있습니다. 기타 기능:

  • XML 네임스페이스를 자동으로 감지하고 매핑합니다.
  • XPath 쿼리의 정확성을 확인합니다.
  • 기본 XML 네임스페이스를 쿼리 표현식에 자동으로 추가하고 모든 문서에서 XML 네임스페이스를 제거하는 기능을 제공합니다.

XPath 작업을 위한 웹 프로그램도 사용할 수 있습니다. 예:

  • XPath 쿼리 표현 도구(XMLME.com).
  • 간단한 온라인 XPath 테스터.
  • XSLT Tryit 편집기(W3Schools.com).

결론

XML 기술은 많은 도구에서 지원됩니다. XML 사용자로서 귀하는 요구 사항을 분석하고 적절한 도구를 선택해야 합니다. 예를 들어, 다양한 작업을 수행해야 하는 경우 편집, 유효성 검사 등과 같은 추가 기능을 갖춘 XML IDE를 선택할 수 있습니다. 제한된 작업(예: XML 파일 비교)의 경우 다음을 선택할 수 있습니다. 전문 프로그램비교.



질문이 있으신가요?

오타 신고

편집자에게 전송될 텍스트: