나는 메타 데이터를 저장하기 위해 작성한 XML 파일에서 데이터를 검색하기 위해 하위 항목, 요소 및 특성을 사용하여 영원히 노력했습니다. 지금은 그럴 수 없어 내 일을 방해하고 있습니다. XML에 Linq를 사용했을 때 가치가 전혀 없었으며 왜 그런 일이 일어날 수 없었습니다. xml 파일에XElement에서 값 가져 오기
둘러보기는
<ImageMetadata>
<ColorHistogram>
<Bin value="45861"/>
<Bin value="31989"/>
</ColorHistogram/>
<FaceLocations>
<FacePosition Y="379" X="205"/>
<FacePosition Y="366" X="372"/>
</FaceLocations>
</ImageMetadata>
나는 다른 솔루션을 시도했습니다. 처음에 나는 단지 대신 코드로 이어질 속성 값으로 태그 빈의 BinValue라는 XElement를했다 : 다음 XML에 LINQ 화를받은 후, 나는 구조 내 문서의 비트를 변경
//Yielding no results
from elements in doc.Descendants()
let element = elements.Element("BinValue")
select (long)element;
태그와 속성이 있어야합니다. 그러나 이것은 아무런 효과가 없습니다.
var bins = XElement.Load(dbMetadata)
.Descendants("Bin")
.Select(e => e.Attribute("value").Value);
// which gives me : System.ArgumentException: 'Illegal characters in path.'
내 사용 사례는 XML 구조에서 수집 할 수있는 다음과 같다 : 이미지 파일의 생성 메타 데이터. 그 부분은 OpenCV로 꽤 견고 해 보이는데 그건 내 문제가 아닙니다. 어쩌면 내 문제에 대한 피드백을 더 받기 위해 XML 문서를 작성하는 데 사용한 코드를 추가하는 것이 적절할 것입니다.
이미지의 데이터를 계산하는 부분은 F #을 사용하여 수행되었습니다. xml 문서를 만드는 부분은 C#을 사용하여 수행되었습니다. 그렇기 때문에 코드를 공유하기 위해 두 가지 요령을 만들 예정입니다. Emgu OpenCV Nugget 패키지를 솔루션에 추가하십시오.
** 메타 데이터를 생성합니다 F # 코드를 실행하기 위해 두 지역의 JPG 파일을 사용!
** 가능하면 LINQ to XML을 사용하여 데이터를 검색하는 방법이 필요합니다. ColorHistogram 및 FaceLocations
갱신 1
모두 들어 내 문제가 발생했을 때 xml 파일의 상태를 표시하는 코멘트에 요청했다. 아래를 찾을 수 있습니다
입니까? – har07
@ har07 dbMetadata의 상태는 메타 데이터 파일 안에 있습니다. 내 게시물을 업데이트했습니다. –
XML 파일의 일부만 표시 한 것처럼 보입니다. [mcve]를 제공하면 도움이 될 것입니다. 이것은 예를 들어 루트의 기본 XML 네임 스페이스 때문일 수 있습니다. (당신이 링크 한 파일로, 아마 ...하지만 기본적으로이 질문에 너무 많은 혼란이 있습니다. 하나의 짧은 콘솔 앱으로 이것을 수정하는 것이 훨씬 간단합니다.) –