2010-06-30 3 views
0

내 프로그램에서 일부 XML이 전달됩니다. 이 XML의 값이 사용자 정의 기준을 충족 시키면 XML을 저장하고 그렇지 않으면 폐기됩니다. 내가 가진 문제는 사용자가 조건을 정의하고 ("OR"및 "AND"로 여러 요소를 결합한) 사용자가 XML을 얻을 때이를 적용 할 수 있어야한다는 것입니다. 이것은 C# 응용 프로그램입니다. 누구든지이 문제를 해결하는 방법에 대해 라이브러리, 도구 또는 도움말을 추천 할 수 있습니까? 아래에 XML을 보겠습니다. 사용자는 <unit> =1 AND (<data> = Z OR <data>의 첫 번째 부분에 두 번째 혼 수 후에 ABC가있는 경우에만이 내용을 저장하고 싶을 수 있습니다).XML 용 표현식 작성자

<interface> 
    <mac>12345</mac> 
    <device>DeviceTypeA</device> 
    <id>TestUnit</id> 
    <data> 
    <unit>1</unit> 
    <transaction> 
     <event>0</event> 
     <data>Z,0,ABC,1234</data> 
     <time>2010-06-29T11:33:44.0000000Z</time> 
    </transaction > 
    </data> 
</interface> 

답변

-1

사용자가 XML을 전혀 보지 못합니까? 그렇다면, 당신은 단순히

/interface/data/unit=1

또는

substring-before(',',/interface/data/transaction/data)='Z'

는 단순히

if (xml.SelectNodes(xPathExpression) == null) /*discard*/

이럴 사람을 같은 입력에 사용자에게 XPath 식을 허용 할 수 XML을 사용하는 개발자는 XPath를 익히도록 장려해야합니다. 당신은 도움이되는 입력 옆에 몇 가지 간단한 예제를 제공 할 수 있습니다.

사용자가 XML을 보지 못한다면 사용자가 선택할 수있는 몇 가지 사전 정의 된 조건을 선택하고 값을 제공하는 것이 좋습니다. 그렇지 않으면 전체 식 구문 분석기를 만들어야합니다. , 이것은 아마 이런 작업에 대한 과잉이다.