XDocument
을 사용하여 xml 파일을 구문 분석하는 일부 코드가 있습니다.Xml에서 Object가 아닌 String으로 값을 검색하는 방법은 무엇입니까?
값을 올바르게 검색하지만 xml에 저장 한 값 중 일부는 Object
입니다. 나는 XML에서 이러한 값을 읽을 때, 그들은 내가 객체로 캐스팅에도 불구하고, string
값으로 제공 :
XDocument doc = XDocument.Load (file);
XElement xe = doc.Element ("EffectFile");
xe.Elements ("Options").Any ()
? xe.Elements ("Options").Select (
o => o.Elements ("Option").Select (
n => (object) n.Value).First ())
: null))
는 XML에 나타나는 값 :
...
<Option>88</Option>
...
는 "88"
온다 대신 Object 88
입니다.
나는 내가 Object
에 string
캐스팅 할 때, 그것은 여전히 string
될 것이라고 이해하지만, 그것은에게 (즉 수 있습니다 무엇이든) 실제 값의 Object
아니지만 string
을 만들 수있는 방법이?
int intValue = (int) value;
감사합니다. 그러나 type = ""유일한 방법을 사용하고 있습니까? 나는 단지 객체의 값을 객체의 값이 아니라 객체의 값으로 저장하려고합니다. 그래서 이것을 위해 XML에 유형을 저장해야합니까? "자동"xml serialization을 수행 할 때 값 과 같은 것을 사용하여 serializer를 발견했습니다. 어쩌면 그렇게 할 수 있을까요? –
Xml은 텍스트 파일로 디스크에 쓸 수 있으므로 형식을 지정하지 않으면 이전에 어떤 형식인지 알기 위해 디스크에서 프로그램을 읽는 방법이 없습니다. 속성 일 필요는 없습니다. value 요소에 중첩 된 다른 요소 일 수도 있고 다른 이름을 가진 속성 일 수도 있지만 판독기에 대한 힌트가 필요합니다. – ajuc
@ Joan - XML에서 읽으면 항상 문자열이됩니다. –