1

telephonenumber私は、人に数回現れる のような属性を持っています。ここで、すべての数字を新しい数字のリストに置き換えたいと思います:

<person>  
<telephonnumber>12345</telephonnumber>  
<telephonnumber>23456</telephonnumber>  
</person>  

置き換え:

<person>  
<telephonnumber>56789</telephonnumber>  
<telephonnumber>78901</telephonnumber>  
</person>  

Javaでこれを行うにはどうすればよいですか?

使用する

mods.add(new ModificationItem(DirContext.REPLACE_ATTRIBUTE, new BasicAttribute("telephonnumber", "56789")));  
mods.add(new ModificationItem(DirContext.REPLACE_ATTRIBUTE, new BasicAttribute("telephonnumber", "78901")));  

最終的にすべての値が最後の ModificationItem に置き換えられます。すべての数値を削除し、リストからすべての新しい値を追加することで回避できます。しかし、Java LDAP はそれを直接サポートしていると思います。

4

1 に答える 1

4

複数の値を持つ電話属性を使用して単一の置換を作成したいと考えています。Oracle LDAP属性のチュートリアルを参照してください。

// Create a multivalued attribute that has four String values
BasicAttribute oc = new BasicAttribute("objectClass", "top");
oc.add("person");
oc.add("organizationalPerson");
oc.add("inetOrgPerson");

ヒント: コーディングを開始する前に、まずLDIFファイルを介して LDAP 操作を試してください。

于 2013-01-18T13:56:21.047 に答える