을 표시하는 XML 데이터에 Winforms controls
-
09-06-2019 - |
문제
아의 세부 사항을 표시하는 xml 오류 로그는 사용자에 winforms 응용 프로그램 및 이에 대한 최고의 제어하는 작업을 수행합니다.
는 오류 데이터 포함의 모든 절단하는 변수는 오류가 발생했습니다.이 포맷된 XML 문서로는 뭔가의 효과:
<error>
<serverVariables>
<item>
<value>
</item>
</serverVariables>
<queryString>
<item name="">
<value string="">
</item>
</queryString>
</error>
저는 읽고 싶은 이 데이터에서는 문자열에 저장되고 사용자에게 디스플레이를 통해 windows 에서 양식에는 유용한 방법입니다.XML Notepad 않는 멋진 일을 xml 포맷하지만 정말 내가 찾는 것 때문에 내가 선호하는 것은 오히려 표시 항목 정보 이름:문자열 형식입니다.
어떤 제안을 하거나 내가 찾고 있고 사용자 정의 구현이 있습니까?
[편집]섹션의 이야 하는 데이터가 표시됩니다.
<?xml version="1.0" encoding="utf-8"?>
<error host="WIN12" type="System.Web.HttpException" message="The file '' does not exist." source="System.Web" detail="System.Web.HttpException: The file '' does not exist. at System.Web.UI.Util.CheckVirtualFileExists(VirtualPath virtualPath) at" time="2008-09-01T07:13:08.9171250+02:00" statusCode="404">
<serverVariables>
<item name="ALL_HTTP">
<value string="HTTP_CONNECTION:close HTTP_USER_AGENT:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) " />
</item>
<item name="AUTH_TYPE">
<value string="" />
</item>
<item name="HTTPS">
<value string="off" />
</item>
<item name="HTTPS_KEYSIZE">
<value string="" />
</item>
<item name="HTTP_USER_AGENT">
<value string="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" />
</item>
</serverVariables>
<queryString>
<item name="tid">
<value string="196" />
</item>
</queryString>
</error>
해결책
변환할 수 있는 XML 데이터를 사용하여 XSLT
또 다른 옵션은 사용하 XLinq.
하려면 콘크리트 코드를 들어 우리에게 제공으로 샘플 데이터
편집:샘플 XSLT 변환을 위해 당신 XML 파일:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="//error/serverVariables">
<xsl:text>Server variables:
</xsl:text>
<xsl:for-each select="item">
<xsl:value-of select="@name"/>:<xsl:value-of select="value/@string"/>
<xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
<xsl:template match="//error/queryString">
<xsl:text>Query string items:
</xsl:text>
<xsl:for-each select="item">
<xsl:value-of select="@name"/>:<xsl:value-of select="value/@string"/>
<xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
적용할 수 있습니다 이를 변환하여 XslCompiledTransform 클래스입니다.그것은 출력이 다음과 같다:
서버변수:
ALL_HTTP:HTTP_CONNECTION:닫 HTTP_USER_AGENT:Mozilla/4.0(compatible MSIE6.0;Windows NT5.1;SV1)
AUTH_TYPE:
HTTPS:off
HTTPS_KEYSIZE:
HTTP_USER_AGENT:Mozilla/4.0(compatible;MSIE6.0;Windows NT5.1;S)Query string 항목:
tid:196
다른 팁
당신이 사용할 수 있다 트리 제어 사용을 재귀 XLinq 알고리즘 데이터를 넣습니다.나는 자신 인터페이스용으로 사용자를 구축에 사용자 지정 XML 표현했습니다.
보 XML 데이터 바인딩.Visual Studio 를 사용하여 또는 xsd.exe 를 생성하는 데이터 집합이나 클래스에서 XSD,다음 사용 System.Xml.Serialization.XmlSerializer
필요할 경우를 설정하는 XML 을 개체/데이터 집합이 있습니다.마사지 않습니다.에 표시합니다.
사용하여 시도할 수 있습니다 DataGridView
제어합니다.예를 들어,XML 파일을 로드하에 DevStudio 마우스 오른쪽 단추로 클릭한 다음에는 XML 보기"를 선택하고 데이터 표".해야 합를 읽 API 컨트롤에 그것을 사용합니다.