2009-06-08 1 views

답변

1

명확하게 :이 속성은 XmlDocument 인 필드가있는 개체에 있으며 루트 요소가 "resources"인 빈 XmlDocument로 초기화되기를 원합니다.

XmlDocuments는 항상 작업하기에 가장 쉬운 개체가 아닙니다.

스프링을 사용하면 문자열을 XmlDocument로 변환하는 방법을 알 수 없습니다.

코드를 사용하여 원하는 XmlDocument를 쉽게 생성 할 수 있습니다. 예를 들어 XmlDocument를 생성하는 정적 도우미 메서드를 만들고 해당 메서드를 호출하여 속성 값을 설정합니다.

다른 옵션 (kludge-y)은 xml을 문자열로 처리하는 "도우미"속성을 갖는 것입니다. 예를 들어 null 또는 ""로 설정하는 "_ResourcesXml"이라는 속성이 있습니다. 그런 다음이 속성은 XmlDocument를 구성하고 Resources 속성의 백킹 필드를 설정합니다. 마찬가지로 _ResourcesXml을 읽으면 Resources.OuterXml을 반환 할 수 있습니다.

<object id="Document" type="System.Xml.XmlDocument, System.Xml" /> 
    <object type="Spring.Objects.Factory.Config.MethodInvokingFactoryObject, Spring.Core"> 
    <property name="TargetObject"> 
     <ref local="Document" /> 
    </property> 
    <property name="TargetMethod" value="AppendChild" /> 
    <property name="NamedArguments"> 
     <dictionary> 
     <entry key="newChild"> 
      <object type="Spring.Objects.Factory.Config.MethodInvokingFactoryObject, Spring.Core"> 
      <property name="TargetObject"> 
       <ref local="Document" /> 
      </property> 
      <property name="TargetMethod" value="CreateElement" /> 
      <property name="NamedArguments"> 
       <dictionary> 
       <entry key="name" value="resources" /> 
       </dictionary> 
      </property> 
      </object> 
     </entry> 
     </dictionary> 
    </property> 
    </object> 

어쨌든, 이것은 당신이 얻을 작은 효과를 매우 복잡한 것 같다

0

난 당신합니다 (MethodInvokingFactoryObject를 사용하여) 같은 것을 함께 요청 결과를 얻을 수 있다고 생각합니다. Nader가 이미 언급했듯이 작은 도우미 공장을 만드는 것이 좋습니다.

또 다른 옵션은 expressions입니다. 구성 내에서 메소드를 호출 할 수 있습니다 (예 : 다음과 같이 :

<object id="..." type="..." expression="@(Document).CreateElement('resources')" />